0
由于同源策略,Ajax无法进行跨域发布。但是,如果我们使用Ajax来动态创建虚拟表单并执行跨域发布,那么浏览器将允许它。虚拟表单vs Ajax POST
他们是不是在做同样的事情?为什么浏览器允许一个而不是另一个?
由于同源策略,Ajax无法进行跨域发布。但是,如果我们使用Ajax来动态创建虚拟表单并执行跨域发布,那么浏览器将允许它。虚拟表单vs Ajax POST
他们是不是在做同样的事情?为什么浏览器允许一个而不是另一个?
Ajax可以 - 它被称为JSONP(Padded JSON)。 jQuery有这个内置到它的ajax对象
$.ajax({
url:'http://www.otherdomain.com',
crossDomain:true,
...
});
为了使用jsonp,跨域邮件的目标服务器需要支持它。我指的是我无法控制目标服务器的情况。例如,为了与PayPal交易,我即时创建虚拟表单并发布数据。另一种方法是做一个服务器中继(浏览器 - >我自己的服务器 - > paypal服务器)。我只是好奇为什么使用虚拟表单发布作品,但不是在这种情况下ajax发布。 – glendon