gpt4 book ai didi

php - 如何使用 AJAX 返回两个字符串?

转载 作者:行者123 更新时间:2023-12-04 21:04:17 27 4
gpt4 key购买 nike

如何使用 AJAX 返回两个参数?

这是我的。这是我的 html 页面上的 2 个文本区域。

<textarea name="source" id="source" onkeyup="myfunc(this.value);}"></textarea>
<textarea name="res1" id="res1"></textarea>
<textarea name="res2" id="res2"></textarea>

Onkeyup 事件调用.js 文件 中的myfunc() 函数。

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 返回到文本区域 res1。一切正常,工作正常。但是,我也想将值 p 传递给 res2 (另一个文本区域)。是计算出来的,但是我不知道如何传回一个以上的参数。那有什么办法呢?谢谢。

最佳答案

最明显的方式(如果你想发送两个参数)是

xmlhttp.send("q="+encodeURIComponent(str)+"&p="+encodeURIComponent(str1));

如果要返回两个参数,在php中使用数组,在json中编码

$arr = array();

$arr['str1'] = $str1;
$arr['str2'] = $str2;
header('Content-type: application/json');
echo json_encode($arr);

编辑 - 在回显数组之前还设置了正确的 header 。完成后,在客户端解析JSON

xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var resp = JSON.parse(xmlhttp.responseText);
document.getElementById("res1").innerHTML=resp.str1;
document.getElementById("res1").innerHTML=resp.str2;
}
}

关于php - 如何使用 AJAX 返回两个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10191520/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com