每当我执行 jquery $.post() 时,我都会获得“已取消”状态。这似乎是一个异步问题?我访问本地项目http://127.0.0.1:8933/myproject/default/index.html
索引.html:
<script>
$(document).ready(function() {
$('#mybutton').click(function() {
var post_url = get_url(); // resolves to "/myproject/default/process_func"
var data = ...;
do_action(post_url, data);
});
});
</script>
<a href="" id="mybutton"> Click me! </a>
实用程序.js:
function doPost(url, data) {
$.post(url, data).then(doSuccess, doFail):
function doSuccess(data) {
alert('Successful!');
}
function doFail(data) {
alert('Failed!');
}
}
function do_action(url, data) {
var jsondata = JSON.stringify(data);
// some other stuffs...
doPost(url, jsondata);
}
这个想法是将一些数据发布回服务器以使用 json 数据进行处理。用户将单击锚按钮,do_action()
将触发,然后将其发布到doPost()
.
这似乎有效,因为我看到 json 数据传递给服务器上的处理函数。但是,我会看到警报消息“失败!” 即使数据已经处理,每次都会弹出。在 chromium 的调试面板中,我在“网络”选项卡下看到帖子的状态为“ (已取消) ”,整行将以红色突出显示。所述类型为“待定”。
我认为这是一个异步问题,但我不确定如何解决它。