我有一个表单,然后将其发送到php
,以便mysql
插入ajax
db。
一切顺利,php
返回"true"
值,但ajax
显示false
消息。
在这里,您可以查看php
代码: -
if(isset($result)){
$value = array('msg' => 'true' );
} else {
$value = array('msg' => 'false' );
}
echo json_encode($value);
这是ajax
代码: -
success: function(value){
if (value.msg == 'true') {
alert("Saved");
}else{
alert("Something went wrong.");
}
并从控制台:
//value = "↵{"msg":"true"}
P.S。我不知道返回值中的ENTER符号“↵”是什么,但我认为它不应该影响,对吧?
答案 0 :(得分:4)
您需要添加: -
dataType:"json",
在你的Ajax中它会起作用。
另一个解决方案是$.parseJSON
(如果你没有使用dataType:"json"
): -
success: function(value){
var json = $.parseJSON(value);
if (json.msg == 'true') {
alert("Saved");
}else{
alert("Something went wrong.");
}
}
答案 1 :(得分:0)
可能是你将true
作为布尔值而不是字符串
试试这个
if (value.msg == true) {
alert("Saved");
}else{
alert("Something went wrong.");
}
答案 2 :(得分:0)
你得到的价值可能是一个普通的字符串。尝试转换为json:
success: function (value) {
value = JSON.parse(value);
if(value.msg ==='true') {
/* your logic here */
}
}
答案 3 :(得分:0)
您需要使用parse转换json字符串,如下所示。
success: function(value){
var json = $.parseJSON(value);
if (json.msg == 'true') {
alert("Saved");
}else{
alert("Something went wrong.");
}
请参阅此链接以获取更多信息http://api.jquery.com/jquery.parsejson/
答案 4 :(得分:0)
首先检查在打开php标签之前没有额外输入,或者在关闭php标签之后再将此行添加到您的请求中:
dataType:"json"