Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 Ajax中的空API_Javascript_Jquery_Json - Fatal编程技术网

它们适用于Javascript Ajax中的空API

它们适用于Javascript Ajax中的空API,javascript,jquery,json,Javascript,Jquery,Json,我真的很困惑。如果我将以下链接发布到浏览器中,它会工作,没有问题,但当我要求jQuery对其执行操作时,它返回为空白,但没有错误 链接: $.ajax({ url: 'http://www.theyworkforyou.com/api/getConstituency?key=FU8MWTEQnvVsHC6GM7B82zie&postcode='+postcode+'&output=js', type: 'POST', success: function(respons

我真的很困惑。如果我将以下链接发布到浏览器中,它会工作,没有问题,但当我要求jQuery对其执行操作时,它返回为空白,但没有错误

链接

$.ajax({
  url: 'http://www.theyworkforyou.com/api/getConstituency?key=FU8MWTEQnvVsHC6GM7B82zie&postcode='+postcode+'&output=js',
  type: 'POST',
  success: function(response) {
    console.log(response);
   }
});

代码

$.ajax({
  url: 'http://www.theyworkforyou.com/api/getConstituency?key=FU8MWTEQnvVsHC6GM7B82zie&postcode='+postcode+'&output=js',
  type: 'POST',
  success: function(response) {
    console.log(response);
   }
});
我可以换钥匙,所以不用担心我把它贴出来了


知道它为什么不工作吗?

您的javascript是在从源服务器下载到浏览器的网页上下文中运行的。它试图从其他服务器请求页面,但这违反了。Javascript不能向源服务器以外的服务器发出请求

这种技术可以用来解决这个问题,但只有在非源服务器支持的情况下。在这种技术中,javascript代码动态创建一个脚本标记,其src元素1)指向非源服务器,2)传递(作为查询参数)本地javascript中存在的函数名。非源服务器返回脚本的源代码,该脚本仅对非源服务器提供的数据调用函数。通过这种方式,javascript可以从非源服务器请求数据


如果非源服务器不支持JSONP,那么您将无法执行您想要的操作。

当我运行它时,会出现错误:
XMLHttpRequest无法加载http://www.theyworkforyou.com/api/getConstituency?key=FU8MWTEQnvVsHC6GM7B82zie&postcode=RG2+9LA&output=js。起源http://jsbin.com 访问控制允许源站不允许使用。
我找不到任何api文档,但他们大概不想让你将API密钥交给每个访问者,并要求他们的浏览器直接与API交互。@Quentin it’s right here@ScottSelby-看起来它为JSON发送了正确的内容类型头,所以你不需要在客户端代码中重写它。没有CORS,你无法发布跨域的内容,我很肯定他们不会允许CORS的。带有API键的API通常用于服务器,而不是客户端。