我知道我不能直接将AJAX Vars传递给PHP,而是客户端与服务器端脚本。但话虽如此,这是我的代码:
setInterval(function()
{
//do something after you receive the result
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("message_area").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","messages.txt",true);
xmlhttp.send();
}
我知道我可以通过使用AJAX将它们发布到PHP页面来间接处理AJAX变量,如下所示:
$.ajax (
{
type: "POST",
url: "decode.php",
});
我只需要知道如何将xmthttp.open
调用中使用的“messages.txt”文件的内容传递给PHP文件,以便进一步处理。
我该怎么做?
答案 0 :(得分:2)
如果您使用纯javascript:
var url = "get_data.php";
var params = "lorem=ipsum&name=binny";
http.open("POST", url, true);
//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
http.send(params);
或者如果您使用的是jquery,只需:
$.ajax (
{
type: "POST",
url: "decode.php",
params: {param1: "val1", param2: "val2"}
});
答案 1 :(得分:1)
你在使用jquery吗?你的第一个代码块是常规的js,第二个是jQuery的ajax短手。
也就是说,如果你想使用jQuery使用ajax POST数据,你会做类似下面的事情。
var PostData = "something";
$.ajax({
type: "POST",
url: "someurl",
data: PostData
}).done(function(returnData) {
//process data returned from server, if there is any
});
答案 2 :(得分:1)
希望这会有所帮助:
$.get( "messages.txt", function( data ) { //Fetching contents of messages.txt file.
$.ajax ({
type: "POST",
url: "decode.php",
data: data, //passing contents of messages.txt file to decode.php
success: function(result){
alert(result);//Getting result from decode.php
}
});
});
欢呼声