我已经看了很多演示和AJAX和JavaScript教程,但我似乎无法让这个东西正常工作。这就是我所拥有的......
function createRequestObject() {
var ro = false;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
ro = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
try {
ro = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ro = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) { }
}
}
return ro;
}
function ajaxrequest(){
var http = createRequestObject();
if(http) {
var name = "Strassburg";
var message = "Strike three you're out";
http.open('post', '/server/shout.php');
// needed in order for most servers to see POST data
http.setRequestHeader('Content-Type',
'application/x-www-form-urlencoded');
http.onreadystatechange = function() {
if(http.readyState == 4){
if(http.responseText.indexOf(':' != -1)) {
var data = http.responseText.split(':')
alert(data)
}
}
};
http.send('name=' + name + '&message=' + message);
}
}
现在我正在使用静态文本(名称和消息而不是使用用户输入的字段),但我只是得到一个空警报。如果readyState设置为4,这意味着ajax调用是否成功我相信? server/shout.php
给了我,我不太了解php,但如果需要一个snippit,我也可以把它放在这里。
答案 0 :(得分:1)
这一行 http.responseText.indexOf(':'!= -1)
(“:”!= -1)= true,所以indexOf在responseText中寻找true
试试这个 http.responseText.indexOf(':')!== -1
答案 1 :(得分:1)
readyState == 4表示请求已完成,检查是否正常检查http.status == 200
if (http.readyState == 4) {
if(http.status == 200) {
alert(http.responseText);
}
}
P.S。这应该是评论,但我没有足够的评价来评论你的帖子