我有这样的ajax:
$(".cq").on("input", function() {
$.ajax({
url: "create/reefFormAjax",
type: "POST",
data: $(this.form).serialize(),
success: function(data) {
callback(data);
}
});
});
function callback(response) {
$(".sum_whl").val(response);
$(".sum_rtl").val(response);
}
所以在我的控制器里我有这样的东西:
$test = $request->all();
return json_encode($test);
然后我将数据检索回我的视图:
{
"material": "0",
"mquantity": null,
"cq": "2",
"sum_rtl": null,
"sum_whl": null
}
问题是如何从响应中获取每个值?
我尝试$(response).find('cq').val()
或filter
,但我有错误。
有什么想法吗?
答案 0 :(得分:0)
当你从laravel返回一个json(或数组)时,它会自动变成一个js对象。所以你可以像这样访问:
function callback(response) {
$(".sum_whl").val(response.sum_whl);
$(".sum_rtl").val(response.sum_rtl);
}
答案 1 :(得分:0)
/
或console.log(response.data[0])
必须正常工作。因为它的json对象。
试一试。
console.log(reponse.material)
答案 2 :(得分:0)
您获得的结果是JSON响应
var response =
{
"material": "0",
"mquantity": null,
"cq": "2",
"sum_rtl": null,
"sum_whl": null
};
如果JSON在您的response
变量中,您只需访问此元素
response.material; // should print 0
response.cq; // will print 2
答案 3 :(得分:0)
我解决了这个问题,我使用return json_encode而不是return response-> json($ var);所以我抓住了我的价值观!