我有问题,成功:功能不起作用。 更新很好,我得到了一个Json,但我收到错误消息:
SyntaxError:JSON.parse:意外字符
我一直在寻找这个,并且总是找到关于
的提示header('Content-type: application/json');
我有这个,但它仍然不起作用。
有什么建议吗?
谢谢
那是我的.js
$(document).ready(function(){
$("#benutzerDaten").submit(function(){
var inhalt = $("#usr_vorname").val();
if($("#usr_vorname").val() === ""){
$("#ausgabe").text("das Feld ist leer");
}else{
$.ajax({
dataType: "json",
type: "POST",
data: "usr_vorname=" + inhalt,
//data: inhalt,
beforeSend: function(x){
if(x && x.overrideMimeType){
x.overrideMimeType("application/json;charset=UTF-8");
}
},
url: "jsonphp.php",
success: function(data){
if(data.success === true){
alert("success");
}else{
alert("nein");
}
},
error: function(xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
//alert(ajaxOptions);
}
});
}
return false;
});
});
这就是json.php
if(isset($_POST['usr_vorname'])){
$usr_vorname = $_POST['usr_vorname'];
$userInstanz->updateUser("usr_vorname", $usr_vorname);
}
这是我班级中制作$ json
的部分 $json = array(
"success" => true,
"result" => "Benutzer wurde aktualisiert!"
);
header('Content-type: application/json');
echo json_encode($json);
Firebug显示了这一点:
{"success":true,"result":"Benutzer wurde aktualisiert!"}
答案 0 :(得分:0)
删除
header('Content-type: application/json');
答案 1 :(得分:0)
转变为:
1.只需替换$ .post而不是$ .ajax。
2.不需要beforeSend:function(x){}
3.json_encode($ JSON);足够单独,不需要标题('内容类型:application / json');
$(document).ready(function(){
$("#benutzerDaten").submit(function(){
var inhalt = $("#usr_vorname").val();
if($("#usr_vorname").val() === ""){
$("#ausgabe").text("das Feld ist leer");
}else{
$.post("json.php",{ usr_vorname:inhalt}, function( data ){
if(data['success']== true){
alert('success');
}else{
alert('something went wrong');
}
},"json");
}
});
});
Json文件:
if(isset($_POST['usr_vorname'])){
$usr_vorname = $_POST['usr_vorname'];
$userInstanz->updateUser("usr_vorname", $usr_vorname);
}
$json = array(
"success" => true,
"result" => "Benutzer wurde aktualisiert!"
);
echo json_encode($json);
希望它有所帮助......