Ajax发布到本地URL

时间:2013-08-06 23:46:25

标签: javascript jquery django json

我真的对如何实现这一点毫无头绪。我搜索了互联网,但可能在错误的区域搜索了长关键字。

我想运行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页面是什么样的?

我正在使用Django和Javscript进行编程

3 个答案:

答案 0 :(得分:1)

像Vaishak的回答一样。您可以在urls.py中映射视图:

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

然后用这样的jQuery调用它:

$.ajax({
   type: "POST",
   url: "/postdata/",
   // ...

答案 1 :(得分:0)

如果查看浏览器控制台,您可能会发现一个例外情况,指出由于Same Origin Policy违规而导致请求被阻止

如果加载页面的域与发出请求的域不同,那么由于Same Origin Policy限制,它将无效。

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

答案 2 :(得分:0)

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

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

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

示例:

如果urls.py条目如下所示

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

然后,您在测试服务器上的URL将是

http://localhost:8000/postdata