gpt4 book ai didi

javascript - 从 ajax 调用中检索多个值

转载 作者:行者123 更新时间:2023-12-02 16:54:03 25 4
gpt4 key购买 nike

所以我通过 jquery.ajax 向 php 发送数据,PHP 返回一个值(即整个 php 页面只发送一个值)

我想从该 php 页面中提取两个值,但是如何使用 jquery 拆分这两个值?

我想要实现的是,

  1. 单击按钮发送列表项信息和 ID
  2. jquery 使用 ajax 将每个列表项发送到 php
  3. php 获取这些值并将它们保存到数据库中,然后输出一个新的 ID
  4. jquery 将该新 ID 保存到之前附加到的列表项中。

我遇到的问题是我无法让 jquery 定位旧列表项。由于我使用的是 for 循环并且结果位于函数内部,因此我只能定位最后一个列表项。

这是有问题的代码,我认为它会起作用,但它没有。

var i;
for (i = 0; i < updatearray.length; ++i) {
var curval = updatearray[i],
rowid = "#row_"+curval,
text1val = $(rowid+" .text1").val(),
text2val = $(rowid+" .text2").val(),
text3val = $(rowid+" .text3").val();
cardorder = $(".edit_main li:visible").index($(rowid)) + 1;

$.ajax({
type: "POST",
url: "../../study/edit/save.php",
data: { prowid: curval, ptext1val: text1val, ptext2val: text2val, ptext3val: text3val, pdeckid: deckid, pcardorder: cardorder }
})
.done(function( msg ) {
$("#row_"+curval+' button').val(msg);

alert("Data Saved2: " + msg );
});
}

出于某种原因,“curval”变量将始终是数组中的最后一个。因此,为了解决这个问题,我可以通过 php 发送正确的行,但我不知道如何将它们分开。所以我希望它基本上看起来像这样。

 .done(function( newValue, oldValue ) {

$("#row_"+oldValue+' button').val(newValue);
});

如果我想要做什么不清楚,请说出来,我会尽力给出更全面的解释。

最佳答案

你可以从你的 php 中获取超过 2 个值,有一些方法,但我认为最流行的是使用 JSON。

让我们在你的 php 中说:

$arr = array(
"value_1"=>46534,
"value_2"=>654
);

echo json_encode($arr);

您将获得 JSON 对象:

{"value_1":46534,"value_2":"654"}

你可以在你的 promise 中这样使用它

$.ajax(...).success(function(data){
var value1 = data.value_1;
var value2 = data.value_2;
})

关于javascript - 从 ajax 调用中检索多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26318044/

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