我使用原生javascript ajax但是当我查看发布的内容时,它只是简单地说[object Object]
,因此尝试捕获php文件中的$_REQUEST['stringSent']
无效
以下是我尝试使用dataPost('test')
function dataPost(dataToSend) {
var params = { "stringSent": dataToSend };
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status === 200) {
if (typeof success === "function") {
alert(xmlhttp.responseText);
success(xmlhttp.responseText);
}
}else if(typeof error === "function" && (xmlhttp.status > 299 || xmlhttp.status < 200)){
error();
}
}
xmlhttp.open("POST", 'dataCapture.php', true);
xmlhttp.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
//xmlhttp.send(JSON.stringify(data)); // not needed as I'm sending JSON anyway
xmlhttp.send(params);
}
有更好的方法吗?
答案 0 :(得分:1)
评论此行:
// xmlhttp.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
或将其更改为:
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send('stringSent=' + dataToSend);
答案 1 :(得分:-2)
使用Jquery Ajax。
$.ajax({
url: 'dataCapture.php',
dataType: 'text',
type: 'post',
contentType: 'application/x-www-form-urlencoded',
data: params ,
success: function( data, textStatus, jQxhr ){ $('#response pre').html( data ); },
error: function( jqXhr, textStatus, errorThrown ){ console.log( errorThrown ); }
});