首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AJAX :匿名函数在成功时不被调用

问AJAX :匿名函数在成功时不被调用
EN

Stack Overflow用户
提问于 2013-11-09 03:52:58
回答 2查看 1.3K关注 0票数 0

我知道我一定遗漏了一些显而易见的东西,但我似乎不明白为什么我的代码/方法不能工作。当我尝试在AJAX调用成功时调用一个匿名函数(我只是想获取一个XML文件),它不会触发。但是,如果我把成功变成仅仅是一种警觉(“成功!”)这个很好用。有人能解释一下为什么会发生这种事吗?

代码语言:javascript
复制
$("#target").click(function() {
    alert( "Handler for .click() called." );
    var part = document.getElementById('partname').value;
    var url = "http://parts.igem.org/xml/part." + part;
    alert(url);

    $.ajax({
        type: 'GET',
        url: url,
        dataType: 'xml',
        success: function(response) {
            console.log('response = '+response);
        }
    });

});

再次,使用:成功:警告(成功);

代替匿名函数,效果很好。这里完全迷惑不解。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-09 04:11:42

由于same origin policy...,所以AJAX调用必须来自同一个域或站点。

相同的来源策略阻止从一个来源加载的文档或脚本从另一个来源获取或设置文档的属性。此策略可追溯到Netscape Navigator 2.0。

从另一个站点获取XML的常见方法之一是使用PHP和CURL。不过,您只列出了客户端语言。我会研究其他获取数据的方法.

Why does this policy exist?

票数 2
EN

Stack Overflow用户

发布于 2014-03-21 19:28:37

您可以尝试实现CORS,但这需要您访问另一个域。您需要在请求的“访问控制-允许-原产地:*”或“访问控制-允许-原产地:http://www.domainThatMakesTheRequest.com”的请求域中设置响应头。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19872169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档