我花了几个小时想弄清楚这个问题,但我怎么也弄不清楚是哪里出了问题。
我要做的就是加载这个:
https://recruit.zoho.com/ats/EmbedResult.hr?jodigest=2cV.Sr2As6VxhLMxQGuTNij*g.Fb3J7ysduDs.AC9sU-&atslocale=en_GB&rawdata=json
,我相信是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);
?>
JSONP依赖于服务器返回JSONP格式的响应。基本上,要使用JSONP,服务器需要返回一个封装在函数调用中的JSON字符串({"foo":1}
变为func({"foo":1})
)。
由于你使用的服务器不返回JSONP响应,你不能使用JSONP,你只能使用JSON。
这是一个耻辱,因为JSON不能使用x域由于同源策略(SOP)。因此,您唯一的选择是使用代理服务器,它从服务器检索JSON,并以JSONP(参见Yahoo Pipes)将其提供给您,或者与所请求的页面位于同一域(编写一个简单的PHP脚本,使用file_get_contents()
获取文件,然后使用echo
输出),在这种情况下,它可以返回JSON。
我简要地看了一下需求,看起来您需要一个API密钥和一个帐户。我看到这个站点只提供XML和JSON服务。它看起来有很好的记录。