PHP:如何提取ajax数组响应

PHP:如何提取ajax数组响应,php,javascript,jquery,ajax,arrays,Php,Javascript,Jquery,Ajax,Arrays,我从php url获得数组格式的ajax响应。如何在jQuery中提取数组响应值? 供参考: PHP数组是: $response = array('msg' => 'Hello', 'html' => '<b>Good bye</b>'); 请让我知道答案。 谢谢。我最喜欢的解决方案是用PHP函数json_encode()对数组进行编码,这样jquery会很乐意解析它。我最喜欢的解决方案是用PHP函数json_encode()对数组进行编码,这样jquery

我从php url获得数组格式的ajax响应。如何在jQuery中提取数组响应值? 供参考:

PHP数组是:

$response = array('msg' => 'Hello', 'html' => '<b>Good bye</b>');
请让我知道答案。
谢谢。

我最喜欢的解决方案是用PHP函数json_encode()对数组进行编码,这样jquery会很乐意解析它。

我最喜欢的解决方案是用PHP函数json_encode()对数组进行编码,这样jquery会很乐意解析它。

你应该用

您可能应该在发送到
$.ajax()
的对象文本中设置
数据类型:“json”

然后,您可以在成功回调中使用点运算符通过JavaScript本机访问它

function(msg) {
    alert(msg.html);
}
顺便说一句,这条线

$response = array(['msg'] => 'Hello', 'html' => '<b>Good bye</b>');
$response=array(['msg']=>'Hello','html'=>'goodbye');

。从第一个键上取下括号。

你应该用

您可能应该在发送到
$.ajax()
的对象文本中设置
数据类型:“json”

然后,您可以在成功回调中使用点运算符通过JavaScript本机访问它

function(msg) {
    alert(msg.html);
}
顺便说一句,这条线

$response = array(['msg'] => 'Hello', 'html' => '<b>Good bye</b>');
$response=array(['msg']=>'Hello','html'=>'goodbye');

。从第一个键中删除括号。

我猜您指的是JSON响应,如下所示:

{"msg":"Hello","html":"<b>Good bye<\/b>"}
success: function(msg){
   alert(msg.msg);
   alert(msg.html);
}
如果需要,还可以使用该函数循环JSON对象的所有属性:

jQuery.each(msg, function(key, val) {
  alert(key + "=" + val);
});

我想您指的是JSON响应,如下所示:

{"msg":"Hello","html":"<b>Good bye<\/b>"}
success: function(msg){
   alert(msg.msg);
   alert(msg.html);
}
如果需要,还可以使用该函数循环JSON对象的所有属性:

jQuery.each(msg, function(key, val) {
  alert(key + "=" + val);
});

如果您不能控制PHP输出,那么可以使用另一种方法来获得结果。 另一个解决方案是使用库。在这里,您可以找到许多JS中可用的函数和php中可用的函数。用法也与PHP相同。因此,我觉得如果您从那里获得json_encode/json_decode并使用它,那么它可以轻松解决您的问题


请记住,您只能编译所需的函数。在您的例子中,是json_编码和json_解码。不需要下载整个库。编译库的Url:

如果您无法控制PHP输出,则可以使用其他方法获得结果。 另一个解决方案是使用库。在这里,您可以找到许多JS中可用的函数和php中可用的函数。用法也与PHP相同。因此,我觉得如果您从那里获得json_encode/json_decode并使用它,那么它可以轻松解决您的问题


请记住,您只能编译所需的函数。在您的例子中,是json_编码和json_解码。不需要下载整个库。编译库的Url:

PHPJS的json编码和解码只在JS对象上有效,在PHP等价物上无效。是的,Emil。你是对的。我没有测试那里的每个函数,但根据它们的工作方式,json_编码/解码应该与PHP对应的工作方式相同。我从那里使用了一些函数,并且以正确的方式工作。感谢您指出错误。PHPJS的json_编码和_解码仅适用于JS对象,而不适用于PHP等效对象。是的,Emil。你是对的。我没有测试那里的每个函数,但根据它们的工作方式,json_编码/解码应该与PHP对应的工作方式相同。我从那里使用了一些函数,并且以正确的方式工作。谢谢你指出错误。你的例子真的有效吗?我必须首先解析响应才能得到如下结果:var obj=jQuery.parseJSON(msg);警报(obj.html)@Hexodus取决于您用来读取它的jQuery函数。如果您告诉它响应类型是
json
,它将自动解析它(您应该这样做)。您的示例真的有效吗?我必须首先解析响应才能得到如下结果:var obj=jQuery.parseJSON(msg);警报(obj.html)@Hexodus取决于您用来读取它的jQuery函数。如果您告诉它响应类型是
json
,它将自动解析它(您应该这样做)。