2015-05-12 56 views
1

这是我的问题,这些请求之间有什么区别?我有get要求我试图执行一个问题差异:JSONP vs GET

,我收到错误

的XMLHttpRequest无法加载http://urbanetradio.com/wp-json/posts。 'Access-Control-Allow-Origin'标题的值为'http://localhost:8100',它不等于提供的原点。因此不允许访问原产地'http://run.plnkr.co'。

get要求是my-site-url/wp-json/posts这是一个WordPress帐户。而this is the method I am using

所以,有人说,使用jsonp而不是get,但为什么?

回答

1

Jsonp是用于支持跨源资源共享的Web API的。下面的文章给出了一个如何创建支持cors的请求的例子。如果webapi未配置为允许来自主机的请求,则可能无法在不更改api的情况下使其工作。 http://www.html5rocks.com/en/tutorials/cors/

设置使用CORS网络API:支持CORS

Web请求 http://mobile.codeguru.com/csharp/.net/net_asp/using-cross-origin-resource-sharing-cors-in-asp.net-web-api.html

+0

看,这是我使用的方法http://wp-api.org/,所以'''get'''请求是'''my-site-url/wp-json/posts''这是一个WordPress帐户。 – TheUnnamed

+0

如果我猜测,web api被配置为允许来自urbanetradio.com的请求,并且它在调试时可能会失败,因为请求来自localhost:8100。看起来在api文档中有一个步骤,您可以在其中设置永久链接结构(包括主机名),也许这就是配置网络API以允许来自该主机的请求。 http://wp-api.org/#rest-api_installation –