【问题标题】:How to get multiple value parameters in jquery ajax success?如何在jquery ajax成功中获取多个值参数?
【发布时间】:2021-12-26 14:31:30
【问题描述】:

jquery ajax 成功如何获取多个值?

我想要的目标是:

$.ajax({
....
success: function(data,myvalue2) {
  dataTable.ajax.reload(); //data in here is an array that fill datatable (JSON)
  $("#input").val(myvalue2); // myvalue2 is an id for title of page
}
....
});

【问题讨论】:

  • success -> 类型:Function( Anything data, String textStatus, jqXHR jqXHR ) - 您无法更改 success 的工作方式(被调用)。只能修改data的内容("从服务器返回的数据")
  • 您的data 可以是数组或json,并且可以包含许多值。
  • 你没有。 success:by jquery 调用,data 从您的服务传回。您的服务无法返回“两个结果”,那么“myvalue2”从何而来?您可以在方法的前面设置 myvalue2 并使用闭包,或者如果两者都来自服务器,则将其作为属性传递。
  • @KIKOSoftware "您的数据可以是数组或 json" -> "JSON (JavaScript Object Notation) 是一种可序列化的数据交换格式,旨在成为机器和人类可读”。为什么要列出实际的数据类型(数组)和数据格式(json)?特别是当数组必须转换为 json 才能到达客户端时。
  • 我的数据是 json 格式。我可以在 json 模式下将 myvalue2 添加到数据中,并在成功函数中将它们分隔为 dataTable.ajax.reload() 之前的值(数据和 myvalue2)吗?

标签: php jquery web


【解决方案1】:
<?php
    echo json_encode(["test1" => "value1", "test2" => "value2"]);
?>

<script>
...
success: function(data) {
    data = JSON.parse(data);
    console.log(data);
...

【讨论】:

  • 我没明白
  • 如 cmets 中所述,在 ajax 中,您只能将单个变量中的数据作为字符串值获取,因此解决方案是在该字符串中放置多个东西。为此,通常使用 JSON 格式。
  • 在服务器端,您可以使用 PHP 数组以键值对的形式发送数据,在我的示例代码中,您将获得一个 JSON 对象 (w3schools.com/js/js_json_objects.asp)。 php 脚本会输出一个 json 字符串,格式如下 {test1: "value1", test2: "value2"}
  • 使用 javascript,您可以读取 json 字符串并将其转换为 javascript 对象 (w3schools.com/js/js_json_parse.asp) 此函数将获取一个字符串并创建一个对象。所以,在做“data = JSON.parse(data)”之后,data 被替换为一个 js 对象。之后,你就可以随心所欲地使用data.test1和data.test2了……
  • 阅读更多关于 JSON stackoverflow.com/questions/4881876/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-16
  • 1970-01-01
  • 2012-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
相关资源
最近更新 更多