Der*_* Ho 2 javascript php jquery json cross-domain
花了几个小时试图解决这个问题,但不能为我的生活弄清楚出了什么问题.
我要做的就是加载这个:
https://recruit.zoho.com/ats/EmbedResult.hr?jodigest=2cV.Sr2As6VxhLMxQGuTNij*g.Fb3J7ysduDs.AC9sU-&atslocale=en_GB&rawdata=json
Run Code Online (Sandbox Code Playgroud)
我认为是json,javascript/jquery或php并使用数据.
我查看了jsonp,接下来的一些教程,使用了一些演示作为模板,只是无法获得上述数据.
如果有人可以解决一些问题,我将不胜感激.这真的不应该是这么复杂,但我不知道出了什么问题.
是的,这是JSON.该网站可能不支持JSONP,因此您将不得不使用PHP来执行此操作.
这是未经测试的,但应该有效.
<?php
$url = 'https://recruit.zoho.com/ats/EmbedResult.hr?jodigest=2cV.Sr2As6VxhLMxQGuTNij*g.Fb3J7ysduDs.AC9sU-&atslocale=en_GB&rawdata=json';
$JSON = file_get_contents($url);
// echo the JSON (you can echo this to JavaScript to use it there)
echo $JSON;
// You can decode it to process it in PHP
$data = json_decode($JSON);
var_dump($data);
?>
Run Code Online (Sandbox Code Playgroud)
JSONP依赖服务器返回JSONP格式的响应.基本上,要使用JSONP,服务器需要返回包含在函数调用中的JSON字符串({"foo":1}变为func({"foo":1})).
由于您使用的服务器不返回JSONP响应,因此您无法使用JSONP,您只能使用JSON.
这是一种耻辱,因为由于相同的原始策略(SOP),JSON不能用于x-domain .因此,您唯一的选择是使用代理服务器,它从服务器检索JSON,并在JSONP(请参阅Yahoo Pipes)中提供给您,或者与请求的页面位于同一域中(写一个简单的PHP脚本来获取文件file_get_contents()然后echo使用输出),在这种情况下它可以返回JSON.