简体   繁体   中英

How do I use external JSON…?

spent a few hours trying to figure this out, but cannot for the life of me figure out what's going wrong.

All I'm trying to do is load this:

https://recruit.zoho.com/ats/EmbedResult.hr?jodigest=2cV.Sr2As6VxhLMxQGuTNij*g.Fb3J7ysduDs.AC9sU-&atslocale=en_GB&rawdata=json

which I believe is json, into either javascript/jquery or php and use the data.

I've looked into jsonp, followed some tutorials, used some demos as templates and just can't get the above data to work.

If anyone can shed some light it would be much appreciated. It really shouldn't be this complicated, but I don't know what's going wrong.

Yep, that's JSON. The site may not support JSONP, so you're gonna have to use PHP to do this.

This is untested, but should work.

<?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 relies on the server to return a JSONP formatted response . Basically, to use JSONP the server needs to return a JSON string wrapped in a function invocation ( {"foo":1} becomes func({"foo":1}) ).

As the server your using doesn't return a JSONP response, you cannot use JSONP, you can only use JSON.

This is a shame, as JSON cannot be used x-domain due to the same origin policy (SOP) . Therefore, the only option you have is to use a proxy server, which retrieves the JSON from the server, and either gives it to you in JSONP (see Yahoo Pipes ), or which is on the same domain as the requested page (write a simple PHP script to get the file using file_get_contents() and then echo the output), in which case it can return the JSON.

I breifly looked at the requirements and it looks like you need an API key as well as an account. I saw that the site provides services for XML and JSON only. It looks to be fairly well documented.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM