我真的对如何实现这一点毫无头绪。我搜索了互联网,但可能在错误的区域搜索了长关键字。
我想运行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进行编程
答案 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