如何在jquery ajax成功中获取多个值参数?
Posted
技术标签:
【中文标题】如何在jquery ajax成功中获取多个值参数?【英文标题】:How to get multiple value parameters in jquery ajax success? 【发布时间】: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)吗?
【参考方案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 ***.com/questions/4881876/…以上是关于如何在jquery ajax成功中获取多个值参数?的主要内容,如果未能解决你的问题,请参考以下文章