ajax GET 方法中未调用成功函数
Success function is not getting invoked in ajax GET method
在这段代码中,我在 success
函数中遇到了问题。我尝试了很多,但它会转到 error
函数。 #action-button
调用 JavaScript 方法。
<button id="action-button">Click me to load info!</button>
<div id="info"></div>
<small>
Demo created by <a href="https://twitter.com">Twitter</a>
</small>
$('#action-button').click(function() {
$.ajax({
url: 'sampleurl',
data: { format: 'json' },
error: function() {
$('#info').html('<p>An error has occurred</p>');
},
dataType: 'jsonp',
success: function(data) {
$('#info').html('<p>Successd</p>');
},
type: 'GET'
});
});
如果您要向服务器发送 json,请尝试添加 conetentType:application/json
您还希望响应是 jsonp 内容类型吗?这方面的不匹配也可能是问题所在。
如果在 ajax 调用期间发生任何问题,例如 url 错误或服务器错误,success
函数将不会被触发。如果一切正常,HTTP 状态将为 200 OK
,因此将触发成功事件。此外,您的选项中有 dataType: 'jsonp'
与 post 数据不匹配。这可能是一个可能的问题。您可以检查 Firebug 和 post 中的错误以获得更好的帮助。
正如我在上面的评论中提到的,AJAX 查询因 XSS protection.
而被阻止
运行 您在 IE 中提供的 jsFiddle(并在 error()
回调中放置断点)给出了错误:
Access is denied
而 运行 它在 Firefox 中给出了以下错误:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://0daf70fe0a6244fe... This can be fixed by moving the resource to the same domain or enabling CORS.
您必须在 http://sampleURL 的 API 调用中添加适当的 Access-Control-Allow-Origin
header。
在这段代码中,我在 success
函数中遇到了问题。我尝试了很多,但它会转到 error
函数。 #action-button
调用 JavaScript 方法。
<button id="action-button">Click me to load info!</button>
<div id="info"></div>
<small>
Demo created by <a href="https://twitter.com">Twitter</a>
</small>
$('#action-button').click(function() {
$.ajax({
url: 'sampleurl',
data: { format: 'json' },
error: function() {
$('#info').html('<p>An error has occurred</p>');
},
dataType: 'jsonp',
success: function(data) {
$('#info').html('<p>Successd</p>');
},
type: 'GET'
});
});
如果您要向服务器发送 json,请尝试添加 conetentType:application/json
您还希望响应是 jsonp 内容类型吗?这方面的不匹配也可能是问题所在。
如果在 ajax 调用期间发生任何问题,例如 url 错误或服务器错误,success
函数将不会被触发。如果一切正常,HTTP 状态将为 200 OK
,因此将触发成功事件。此外,您的选项中有 dataType: 'jsonp'
与 post 数据不匹配。这可能是一个可能的问题。您可以检查 Firebug 和 post 中的错误以获得更好的帮助。
正如我在上面的评论中提到的,AJAX 查询因 XSS protection.
而被阻止运行 您在 IE 中提供的 jsFiddle(并在 error()
回调中放置断点)给出了错误:
Access is denied
而 运行 它在 Firefox 中给出了以下错误:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://0daf70fe0a6244fe... This can be fixed by moving the resource to the same domain or enabling CORS.
您必须在 http://sampleURL 的 API 调用中添加适当的 Access-Control-Allow-Origin
header。