Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery AJAX跨域问题_Javascript_Jquery_Ajax_Json - Fatal编程技术网

Javascript jQuery AJAX跨域问题

Javascript jQuery AJAX跨域问题,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我在尝试从本地计算机、main.js文件的常规index.html和我自己的个人网站调用ajax时遇到了严重问题。ajax URL具有不同的域,看起来像: $.ajax({ type: 'GET', crossDomain: true, url: 'http://www.someURL.com/api/v1/comments/XXXXX', success: function(data){ console.log(data); } });

我在尝试从本地计算机、main.js文件的常规index.html和我自己的个人网站调用ajax时遇到了严重问题。ajax URL具有不同的域,看起来像:

$.ajax({
    type: 'GET',
    crossDomain: true,
    url: 'http://www.someURL.com/api/v1/comments/XXXXX',
    success: function(data){
        console.log(data);
    }
});
我已尝试将类型更改为JSONP,但随后出现一个未捕获的SyntaxError错误:意外标记:。ajax调用成功且未被阻止,但数据是JSON。我尝试与CORS合作,并询问了我的许多开发人员朋友。我似乎无法得到答案,是数据库限制了我还是我有什么解决方案

编辑:


我甚至尝试使用以下设置.htaccess文件:

# Always set these headers. 
Header add Access-Control-Allow-Origin "*" 
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type" 
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS" 
Header always set Access-Control-Max-Age "1000" 
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
收到错误:

跨源请求被阻止:同源策略不允许读取someURL.com/api/v1/comments/xxxxxxxxx上的远程资源。这可以通过将资源移动到同一域或启用CORS来解决


默认情况下,您在局域网内发出的请求将被浏览器阻止。要取消阻止跨源请求,您需要启用CORS。你可以使用浏览器插件来完成这项工作

以下是我最喜欢的chrome浏览器:


添加此扩展名后,打开发送AJAX调用的URL,并使用上面的加载项启用CORS请求。

我甚至尝试使用:Always set this Header设置.htaccess文件。标题添加访问控制允许来源*标题添加访问控制允许标题来源,x-request-with,内容类型标题添加访问控制允许方法PUT,GET,POST,DELETE,OPTIONS标题始终设置访问控制最大年龄1000标题始终设置访问控制允许标题x-request-with,内容类型,来源,授权,接受,客户端安全令牌不涉及数据库。找出api是否提供jsonp兼容性,因为如果不提供,就没有jsonp选项可以做到这一点。让CORS工作真是一件痛苦的事,所以如果可能的话,试着通过jsonp解决它。这个代码有什么错误吗?@Jamie I将你两条评论的内容编辑到你的问题中。通常最好在问题中编辑较大的详细信息,如错误消息和您通过.htaccess文件尝试的内容,因为它允许附加格式,并有助于创建包含支持信息的完整问题。@War10ck同意-我不知道如何编辑我的大文本。谢谢你这么做!我刚想出来。