使用xml休息Web服务

时间:2014-02-03 14:30:48

标签: xml web-services rest

我对如何通过http://www.nlm.nih.gov/medlineplus/webservices.html查询Rest Web服务感到有些不知所措 这是我目前所拥有的一个小提琴:http://jsfiddle.net/mjtaljaard/jnjk4/ 但它没有返回任何东西。有人提到我有一个跨站点脚本问题?有什么建议吗?

function DoSearch() {


    var searchVal = $('#searchString').val();
    alert('called ' + searchVal);
    var url = "http://wsearch.nlm.nih.gov/ws/query?db=healthTopics&term="+searchVal;
    $.get(url, function( data ) {
        $( "#resultsDiv" ).html( data );
        alert( "Load was performed." );
    });
}

2 个答案:

答案 0 :(得分:2)

浏览器客户端代码无法直接从其他网站直接请求数据。这被称为same-origin policy。这有助于保护用户免受cross-site scripting attacks

的攻击

查看the description of that web service,没有提及CORS(cross-origin resource sharing)或JSONP,这两种方法都是放宽同一起源政策的常用方法。

您最好的解决方案可能是调用您自己的服务器端代码(如果它具有与网页相同的协议和主机,则可以),并让您的服务器端代码获取数据。然后,您可以将整个有效负载从GET返回到调用网页,或者修改响应并仅返回所需的数据。

答案 1 :(得分:0)

我的项目是在Phonegap中,跨站点脚本编写对于phonegap来说不是问题。所以一旦我把它装在我的设备上,一切都运转良好。