使用JSON将jQuery对象数组传递给PHP
一旦通过数组,如何访问PHP中的“code”和“type”值?使用JSON将jQuery对象数组传递给PHP,php,jquery,arrays,json,Php,Jquery,Arrays,Json,一旦通过数组,如何访问PHP中的“code”和“type”值? 顺便说一句,我使用的是“jqueryjson”插件。没有任何插件,有没有办法做到这一点 jQuery: $(function(){ function product(code, type) { return { code: code, type: type } } var products = []; produ
顺便说一句,我使用的是“jqueryjson”插件。没有任何插件,有没有办法做到这一点 jQuery:
$(function(){
function product(code, type) {
return {
code: code,
type: type
}
}
var products = [];
products.push(product("333", "Product one"), product("444", "Second product"));
var jsonProducts = $.toJSON(products);
$.post(
"php/process.php",
{products: jsonProducts},
function(data){
$("#result").html(data);
}
);
});
PHP:
您应该能够在foreach循环中执行
$product->code
和$product->type
顺便说一下,如果要打印数组结构以检查格式,可以使用。每个数组偏移量都是一个基本对象
foreach ($products as $product)
{
echo $product->code;
echo $product->type;
}
我建议您重新阅读上面的示例,以便更好地理解PHP如何将JSON转换为PHP类型是的,这是我第一次尝试的,但我得到了这样一个结果:“注意:尝试在中获取非对象的属性…”当我打印时,我得到了正确的数组结构:array([code]=>333[type]=>Product one)array([code]=>444[type]=>第二个产品)是的!真管用!但是为什么关联数组不起作用?哦,我知道了!我没有在json_解码中使用“true”来工作。Thanks@elclanrs,添加true作为第二个参数,将JSON解码为关联数组而不是对象。正如您所发现的:)
foreach ($products as $product)
{
echo $product->code;
echo $product->type;
}