Php 为什么我来自CodeIgniter的JSON响应在JavaScript中不可读?
我使用CodeIgniter控制器将数据存储在“响应”中,该控制器:Php 为什么我来自CodeIgniter的JSON响应在JavaScript中不可读?,php,jquery,json,ajax,codeigniter,Php,Jquery,Json,Ajax,Codeigniter,我使用CodeIgniter控制器将数据存储在“响应”中,该控制器: { "ok": false, "messages": { "cgusrnm": "<p class=\"text-danger\">The Full Name field is required.<\/p>", "cgnnm": "<p class=\"text-danger\">The Nick Name field is required.<\/p>"
{
"ok": false,
"messages": {
"cgusrnm": "<p class=\"text-danger\">The Full Name field is required.<\/p>",
"cgnnm": "<p class=\"text-danger\">The Nick Name field is required.<\/p>",
"cgeml": "<p class=\"text-danger\">The Email Address field is required.<\/p>",
"cgunm": "<p class=\"text-danger\">The User Name field is required.<\/p>",
"cgpsd": "<p class=\"text-danger\">The Password field is required.<\/p>",
"ccgpsd": "<p class=\"text-danger\">The Confirm Password field is required.<\/p>",
"cgcnm": "<p class=\"text-danger\">The Company Name field is required.<\/p>",
"cgadr": "<p class=\"text-danger\">The User Address field is required.<\/p>",
"cgct": "<p class=\"text-danger\">The City field is required.<\/p>",
"cgcnt": "<p class=\"text-danger\">The Country field is required.<\/p>",
"cgzn": "<p class=\"text-danger\">The State field is required.<\/p>",
"cgzc": "<p class=\"text-danger\">The Zip Code field is required.<\/p>",
"cgpn": "<p class=\"text-danger\">The Phone Number field is required.<\/p>",
"cgsn": "<p class=\"text-danger\">The Skype Name field is required.<\/p>",
"pm": "<p class=\"text-danger\">The Payment Method field is required.<\/p>",
"cgpeml": "<p class=\"text-danger\">The Email Address field is required.<\/p>"
}
}
消息不是数组,而是对象。JSON数组看起来像{message:[“a”,“b”]}即使数据类型是JSON,
响应
变量的类型仍然是字符串。尝试添加response=JSON.parse(response)
将字符串转换为JavaScript对象。可能是response.data.ok
console。记录response
的值,并调查其结构。我浏览了本教程。我不是在看YouTube教程来回答这个问题。使用console.log
查看response
的值。相应地调整代码。我不清楚。为什么不能使用我的代码?我非常感谢你,因为你把它叫做datatype
,而不是datatype
<代码>数据类型
不起任何作用。您可以去掉JSON.parse
并将其更改为dataType
。
$('#form_user').submit(function(e) {
e.preventDefault();
var me = $(this);
$.ajax({
url: me.attr('action'),
type: 'post',
data: me.serialize(),
datatype: 'json',
success: function(response) {
if (response.ok == true) {
alert('response');
} else {
$.each(response.messages, function(key, value) {
var element = $('#' + key);
element.after(value);
});
}
}
});
});