我正在开发一个应用程序,它会生成一个JavaScript代码,该代码会在网站上显示一个小部件。当通过小部件表单提交数据时,它会使用jQuery的ajax函数将数据发布到服务器。
问题是,如果我将小部件放在不同主机上的网站上,就永远无法触发success回调。我知道这是因为JavaScript阻止跨域Ajax,并且应该使用JSONP,但我想知道为什么数据被正常发送到服务器后成功事件却没有被触发?
以下是代码:
问题是,如果我将小部件放在不同主机上的网站上,就永远无法触发success回调。我知道这是因为JavaScript阻止跨域Ajax,并且应该使用JSONP,但我想知道为什么数据被正常发送到服务器后成功事件却没有被触发?
以下是代码:
$.ajax({
type: 'POST',
url: report_url,
data: $(form).serialize(),
success: function() {
alert("success called!");
}
});
如何使用jsonp实现相同的功能?我有些困惑,是否应该使用jsonp以及如何使用,因为它需要定义一个jsonp回调参数。
感谢您的帮助。