0

我正在尝试从 Javascript 上的按钮进行 POST RESTful api 调用。api 调用是跨域的,所以这是一个挑战。我该如何拨打这个电话?

在 ajax 中,我的调用看起来像:[我现在知道你不能从 ajax 进行跨域调用]:

                $.ajax({
                    type: 'POST',
                    dataType: 'application/json',
                    accept: 'application/json',
                    async: false,
                    username: 'user',
                    password: 'name',
                    url: 'http://exterenal.website',
                    data: {
                        "name": "Marcus0.7",
                        "start": 500000,
                        "end": 1361640526000
                    },
                    success: function(){alert('DONE!');},
                    error:function(){alert('ERROR!')},
            });

在 python 中,调用看起来像:

r = requests.post('http://externenal.website' ,headers={'content-type': 'application/json'}, auth=auth, data=json.dumps(data))

谢谢

4

1 回答 1

2

您需要使用JSONP而不是 json。问题是 xmlhttprequest 有一个政策规定您不能在当前站点域之外发出请求。JSONP 是解决这个问题的一个技巧。

请注意,您正在违反安全政策。

这是一篇 So 文章,解释了如何使用 JQuery 执行此操作。

于 2013-08-07T20:59:24.327 回答