我正在构建一个通过Ajax提交的表单。如果我们的数据库更新成功,控制器中的函数会返回数字ID,并且我想使用这些ID根据结果更改视图。用数值解析JSON jQuery PHP
我很难解析从控制器返回的ID。
foreach($update_pending as $product){
$success_ids[] = $product['product_id'];
}
if(isset($success_ids)){
echo json_encode($success_ids);
}else{
echo json_encode(array('error'=>'Error!'));
}
的ID返回这样的:他们从这里控制器返回[129818,129819,129820]
现在我想基于哪个ID的解析,这样我可以更改视图已提交。我提到了这个问题JQuery Parsing JSON array,但我仍然错过了一些东西。
当我提交我得到错误的形式是“无法读取空的特性‘长度’”
这里是jQuery的功能(编辑:我添加数据类型:“JSON”,在结果没有变化):
$(function() {
$('form').on('submit', function (event) {
var product = $(this).attr("data-id");
event.preventDefault();
$.ajax({
type: 'POST',
url: 'category_typeahead',
data: $('form').serialize(),
dataType: 'json',
success: function (data) {
if(data.error == undefined){
alert(data);
product_ids = $.parseJSON(data);
for (var i=0, len=product_ids.length; i < len; i++) {
$(product_ids[i]).hide();
}
}else{
if($('.error_true').length==0){
$('#error').append('<div class="alert alert-error error_true">Error text</div>');
}
$('#error').show();
}
}
});
});
});
后的console.log输出(product_ids)请 – Hackerman
你好,首先请加入你的Ajax数据类型: 'JSON' 数据后: $('形式').serialize(), – Netzach
OK,刚刚尝试过,但没有更改结果,console.log(product_ids)返回“null”。 console.log(data)返回如下所示的product_id:[129826,129827,129828] – Dan