后台用django + python, 如果用ajax传送post数据,则客户端收到403..如果直接用表单的submit按钮以post方式提交表单则没有问题。。这是怎么回事?谢谢
ajax代码如下:
if ((ipaddr == null) || (ipaddr == "")) return;
var sendData = "ipaddr=" + escape(ipaddr);
var url = "/runcase/getpasscode_comm/";
xmlHttp.open("POST", url, true);
xmlHttp.setrequestheader("content-length",sendData.length);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.onreadystatechange = updateStatus;
xmlHttp.send(sendData);
回调代码如下:
function updateStatus() {
/*
。在 Ajax 应用程序中需要了解五种就绪状态:
0:请求没有发出(在调用 open() 之前)。
1:请求已经建立但还没有发出(调用 send() 之前)。
2:请求已经发出正在处理之中(这里通常可以从响应得到内容头部)。
3:请求已经处理,响应中通常有部分数据可用,但是服务器还没有完成响应。
4:响应已完成,可以访问服务器响应并使用它。
*/
if (xmlHttp.readyState == 4) {//readyState 属性为4时表示接收到服务器端的数据
processstatus++;
if (xmlHttp.status == 200 ) {//应该判断一下服务器的响应代码,保证服务器处理这个没有发生错误
var response = xmlHttp.responseText; //数据填充到responseText属性中
//alert(response);
document.getElementById("runstatus").innerHTML += '<br>' + response;
} else if (xmlHttp.status == 403 ) {
alert('403');
}
if (processstatus >= 10) {
processstatus = 0;
clearTimeout(timename);
document.getElementById("runstatus").innerHTML += '<br>' + 'Done.';
}
}
}
--
修改:buxi FROM 114.251.188.*
FROM 114.251.188.*