如何将两个值从 AJAX 查询返回到 javascript
How can I return two values from an AJAX query to javascript?
我正在尝试使用 ajax 从 PHP 文件中查找两个测量值。 PHP 文件获取值并将它们存储为两个变量。 这部分工作正常。
我不知道如何将这两个变量带回javascript。 这是我正在使用的javascript,.js文件位于同一目录中。
<script src="ajaxgetdata.js"></script>
<script>
MakeRequest();
</script>
以下是 ajaxgetdata.js 文件的相关部分:
function MakeRequest()
{
var xmlHttp = getXMLHttp();
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4)
{
HandleResponse(xmlHttp.responseText);
}
}
xmlHttp.open("GET", "getdata.php", true);
xmlHttp.send(null);
}
function HandleResponse(response)
{
document.getElementById('ResponseDiv').innerHTML = response;
}
我不希望div 元素将值放入其中,因为我需要它们最终进入 javascript 中的单独变量,并且我需要返回两个值。 将两个值返回到变量而不是将某些内容返回到div 元素的正确方法是什么?
通常你只想传递一个回调:
function makeRequest(callback) {
var xmlHttp = getXMLHttp();
xmlHttp.onreadystatechange = function () {
if(xmlHttp.readyState === 4) {
callback(xmlHttp.responseText);
}
};
}
// ...
makeRequest(function (data) {
// work with your result!
});
至于返回几条信息,一种常见的方法是 JSON。getdata.php
输出序列化的 JSON(例如使用 json_encode(((,例如
{"theFirstVariable":"Hello","theSecondVariable":"World!"}
然后拿起它
makeRequest(function (data) {
var parsedData = JSON.parse(data);
var firstVariable = parsedData.theFirstVariable,
secondVariable = parsedData.theSecondVariable;
// rock'n'roll
console.log(firstVariable + " " + secondVariable); // "Hello World!"
});
而且您不将其存储在 DOM 中是对的。这是一个糟糕的解决方法,不要滥用 DOM 来临时存储信息。
相关文章:
- 如何防止多个ajax查询在“;prev“;按钮被点击多次
- 只有选中的复选框才能执行进一步的 ajax 查询
- AJAX查询处于活动状态时禁用窗口大小调整
- 跨域AJAX查询
- 如何从 的 id 获取两个变量并创建 ajax 查询
- 通过使用onblur启动Ajax查询到PHP MySQL DB
- Chrome 不处理 jquery ajax 查询
- 使用 AJAX 查询将 JavaScript 数组传递给 php
- 仅从 ajax 查询获取 JSON
- 如何存储一个对象数组,这些对象是 ajax 查询从 javascript 中的 JSON 中提取数据的结果
- Ajax 查询字符串不起作用
- 405:不允许使用方法(AJAX 查询到 Flask)
- AJAX 查询工作 50+ 次,然后崩溃 JavaScript
- Ajax J 查询 - 在函数中插入 2 次
- 如何将两个值从 AJAX 查询返回到 javascript
- 如何在页面之间保存 AJAX 查询的结果
- jQuery - 将 html 放在数组中用于 ajax 查询
- jQuery 编码 ajax 查询字符串中的空格
- 从 Ajax 查询请求多米诺骨牌中获取相关数据
- Ajax 查询,无需重新连接到数据库