Не похоже, что daylife.com предоставляет "jsonp" в качестве типа возврата. Это означает, что объект javascript в теле тега script приведет к ошибке в браузере. И из-за этого, насколько я знаю, вы не сможете получить доступ к данным внутри тега сценария.
Если бы они поддерживали jsonp, они смотрели бы этот URL обратного вызова и возвращали бы что-то вроде следующего:
<script src="your API call here">
callbackFunction({response:"ok", data:[1,2,3]}) //this passes the data to callbackFunction
</script>
Вместо этого они возвращают это:
<script src="your API call here">
{response:"ok", data:[1,2,3]} //this is a parse error for the browser
</script>
Обходной путь - прокси-вызовы через ваш сервер к их серверу. Ниже приведен пример того, как это можно сделать на C #. Метод ProxyHandler просто иллюстрирует, как ProxyJsonpRequest может использоваться из некоторой веб-инфраструктуры. Это не имеет в виду конкретного. Идея состоит в том, что клиент javascript будет передавать параметр, который указывает удаленный URL, к которому сервер должен запрашивать данные. Сервер делает этот запрос и возвращает эти данные клиенту. Код ниже также работает только для запросов GET.
public string ProxyJsonpRequest(string remoteServer)
{
HttpWebRequest req = HttpWebRequest.Create(remoteServer) as HttpWebRequest;
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
return new StreamReader(resp.GetResponseStream()).ReadToEnd();
}
public void ProxyHandler()
{
string remote = this.Request.Params["url"];
return new Response(data:ProxyJsonpRequest(remote), ContentType:"text/javascript");
}