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