0

我真的不知道如何做到这一点。我已经搜索了互联网,但可能在错误的区域使用长关键字。

我想运行一个 RESTful api。

$.ajax({
    type: "POST",
    url: "https//my.url/",
    data: { ...some json... }
    }).done(function( msg ) {
        alert( "CREATE EVENT Data Saved: " + msg );
        });

我知道我不能从 ajax 进行跨域调用,所以我想将 ajax 发布到本地 URL,然后将服务器代码 HTTP POST 到远程服务器。

将 ajax 发布到本地 url 是什么样子的?本地 URL 页面是什么样的?

我正在用 Django 和 Javscript 编程

4

3 回答 3

1

就像 Vaishak 的回答一样。您将视图映射到urls.py

url(r'^postdata$', 'name_of_your_app.views.postdata')

然后你用 jQuery 像这样调用它:

$.ajax({
   type: "POST",
   url: "/postdata/",
   // ...
于 2013-08-07T06:52:34.813 回答
0

如果您查看浏览器控制台,您可能会发现一个异常说明该请求因违反同源策略而被阻止

如果加载页面的域与发出请求的域不同,则由于同源策略限制,它将无法工作。

如果服务器支持CORS,那么您可以解决它。

于 2013-08-06T23:47:44.460 回答
0

如果您要发布数据,则可以进行跨域调用。load由于 Same Origin Policy ,您无法或从其他页面获取数据。

如果您决定按照您描述的方式进行操作,即发布到本地 URL,然后让服务器发出下一个请求,那么您不需要做任何特别的事情。您的本地 URL 是您的应用程序中的另一个页面/方法。

在您的中映射需要处理此请求的方法urls.py并将请求转发给该方法。

例子:

如果urls.py条目如下所示

url(r'^postdata$', 'application.views.postdatatoserver')

那么您在测试服务器上的 URL 将是

http://localhost:8000/postdata
于 2013-08-06T23:55:36.530 回答