来自Ajax-Call的响应不起作用

当我执行ajax调用时,我收到以下错误:

“未捕获的SyntaxError:意外的令牌:”

我的jquery代码如下所示:

$.ajax({ type: 'GET', url: "http://www.exampleUrl.com", crossDomain: true, dataType: "jsonp", jsonp: "jsonp", mimeType: "application/json", jsonpCallback: 'callback', contentType: "application/json; charset=utf-8", beforeSend: function() { }, success: function (data) { alert("success"); }, error: function (result) { } }); 

为什么我没有得到json的回应。 在我的浏览器中直接使用相同的URL时,我得到了期待的json响应。 怎么了?

您肯定遇到了CORS问题。

这种方法应该完美起作用:

 $.ajax({ // The 'type' property sets the HTTP method. // A value of 'PUT' or 'DELETE' will trigger a preflight request. type: 'GET', // The URL to make the request to. url: 'http://html5rocks-cors.s3-website-us-east-1.amazonaws.com/index.html', // The 'contentType' property sets the 'Content-Type' header. // The JQuery default for this property is // 'application/x-www-form-urlencoded; charset=UTF-8', which does not trigger // a preflight. If you set this value to anything other than // application/x-www-form-urlencoded, multipart/form-data, or text/plain, // you will trigger a preflight request. contentType: 'text/plain', xhrFields: { // The 'xhrFields' property sets additional fields on the XMLHttpRequest. // This can be used to set the 'withCredentials' property. // Set the value to 'true' if you'd like to pass cookies to the server. // If this is enabled, your server must respond with the header // 'Access-Control-Allow-Credentials: true'. withCredentials: false }, headers: { // Set any custom headers here. // If you set any non-simple headers, your server must include these // headers in the 'Access-Control-Allow-Headers' response header. }, success: function() { // Here's where you handle a successful response. }, error: function() { // Here's where you handle an error response. // Note that if the error was due to a CORS issue, // this function will still fire, but there won't be any additional // information about the error. } }); 

来源: 使用CORS