如何使用AJAX返回两个参数?如何使用AJAX返回两个字符串?
这是我的。这里是我的html页面上的2个textareas。
<textarea name="source" id="source" onkeyup="myfunc(this.value);}"></textarea>
<textarea name="res1" id="res1"></textarea>
<textarea name="res2" id="res2"></textarea>
onkeyup事件调用MYFUNC()函数从js文件。
MYFUNC()包含这样的字符串:
...
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("res1").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","ajax_file.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset= UTF-8");
xmlhttp.send("q="+encodeURIComponent(str));
作为结果,ajax_file.php使得一些计算,计算q和p并返回Q值。字符串q返回到textarea res1。一切都好,它工作正常。但是,我希望将值p更改为res2(另一个textarea)。这是计算,但我不知道如何返回多个参数。有什么办法做到这一点? 谢谢。
对不起,但对我而言还不清楚。好的,我把$ p和$ q放在一个数组$ arr中,就像你说的那样,并且使得echo json_encode($ arr);好。现在,如何将$ arr ['str1']提取到res1中?我用document.getElementById(“res1”)。innerHTML = xmlhttp.responseText;在我的.js文件中,当我只有一个返回的参数。谢谢。 – Haradzieniec 2012-04-17 13:06:27
@Haradzieniec你应该解析JSON客户端,然后使用参数。我编辑了我的答案。 JSON通常是一种浏览器方法,在旧版浏览器中有一些JavaScript库可供使用 – 2012-04-17 13:14:43
我已将您的代码放到我的问题结尾(请参阅上文),以询问为什么它不起作用。它得到一个错误。谢谢。 – Haradzieniec 2012-04-17 14:12:25