来自Javascript/Django的POST RESTful api调用

POST RESTful api call from Javascript/Django

本文关键字:RESTful api 调用 POST Javascript Django 来自      更新时间:2023-09-26

我正试图从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))

感谢

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

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

这里有一篇So文章,解释了如何使用JQuery实现这一点。