使用jQueryrest调用

我试图使用jQuery从以下URL获取返回的信息:

Var URL = http://getdeeplink.linksynergy.com/createcustomlink.shtml?token=2e9830b7ed11c5dee96dd4b4a9e83da216c9d583ae1e617bcafdd6eb004e3c86&mid=13508&murl=http://itunes.apple.com/us/music-video/if-you-think-this-song-is/id413824018?uo=4 

我已经尝试了下面概述的两种方法,但在这两种情况下,程序只运行代码块,就像没有发生任何事情一样。 谁能说出我做错了什么?

  $.ajax({ type: "GET", dataType: "jsonp", url: URL, success: function(data){ alert(data); } }); 

第二种方法:

  $.get(URL, function(data) { alert('Load was performed.'); alert(data); }); 

首先,如果您请求URL的服务器域与您的页面域不同,那么您可能会遇到同源限制 。

第二,如果它不是同一个来源并且您正在尝试使用JSONP(看起来可能是这样),那么您的服务器将需要专门支持JSONP并将结果打包为JSONP格式,这意味着将结果格式化为可执行文件脚本,也意味着尊重URL上的callback=xxxx查询参数。

第三,你在你的问题中放入的这段javascript看起来像是缺少URL周围的引号,使其成为合法的javascript, var全部为小写:

 var URL = "http://getdeeplink.linksynergy.com/createcustomlink.shtml?token=2e9830b7ed11c5dee96dd4b4a9e83da216c9d583ae1e617bcafdd6eb004e3c86&mid=13508&murl=http://itunes.apple.com/us/music-video/if-you-think-this-song-is/id413824018?uo=4"; 

为了进一步调试,我建议您为ajax调用附加一个error handling程序,看看是否提供了任何进一步的信息。 如果由于同源问题而阻塞某些内容,或者您​​只是有其他脚本错误导致脚本停止执行,那么您的浏览器错误控制台或调试控制台也可能会为您提供有用的消息。

由于相同的原点限制,您无法执行类似的ajax调用。 你需要做的是设置一个服务器端页面,你的java脚本将在’getdeeplink.php’上执行ajax调用(我假设你是用PHP做的)

你的javascript

 $.get('getdeeplink.php',data,function(){.....}); 

它在getdeeplink.php中执行REST调用并回显对ajax处理程序的响应

getdeeplink.php

 $rest_response = file_get_contents('http://getdeeplink.linksynergy.com/createcustomlink.shtml?token=2e9830b7ed11c5dee96dd4b4a9e83da216c9d583ae1e617bcafdd6eb004e3c86&mid=13508&murl=http://itunes.apple.com/us/music-video/if-you-think-this-song-is/id413824018?uo=4'); echo json_encode($rest_response); //send the result to the ajax handler