我的ajax通话有问题,但我无法看到它。首先在我的前端文件中我有javascript:
someButton.addEventListener('click', function(){ makeRequest('arg') });
function makeRequest(params){
var http_request = false,
url = 'actions.php'+'?state='+params;
if (window.XMLHttpRequest){
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
}else if(window.ActiveXObject){
try{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}
}
if (!http_request) {
console.log('Fail :( problem1');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open('GET', url, true);
http_request.send(null);
function alertContents(){
if (http_request.readyState == 4) {
if (http_request.status == 200) {
console.log(http_request.responseText);
console.log(http_request.responseXML);
} else {
console.log('problem2.');
}
}
}
}
在action.php中我有:
<?php return 'bla'; ?>
javascript ajax调用是commond代码,所有人都能看到在网上搜索,而php是我能提出的最简单的证明。但它没有用。 在控制台中,我没有回应并显示类似于&#34;该元素未找到&#34;。
如果我用:
执行ajaxconsole.log(http_request);
它返回:
XMLHttpRequest { onreadystatechange: alertContents(), readyState: 4, timeout: 0, withCredentials: false, upload: XMLHttpRequestUpload, responseURL: "http://localhost/ordertask/task_act…", status: 200, statusText: "OK", responseType: "", response: "" }
答案 0 :(得分:0)
将action.php更改为
<?php echo'bla'; ?>
查看文档:{{3}}。我希望这会有所帮助....这应该有用。
答案 1 :(得分:0)
试试此代码
<?php
echo'bla';
exit;
?>
答案 2 :(得分:0)
我认为问题出在php文件中,而不是“return”语句尝试打印操作,如“print('bla');”或“echo'bla';”。现在,当Ajax处理来自php的返回消息时,至少应该读取“bla”并将其放在console.log()中。