Javascript 功能问题(响应)
我已经用jquerymobile创建了一个页面,其中有一个表单。当我按下submit时,它运行以下javascript:Javascript 功能问题(响应),javascript,html,jquery-mobile,Javascript,Html,Jquery Mobile,我已经用jquerymobile创建了一个页面,其中有一个表单。当我按下submit时,它运行以下javascript: $(document).ready(function(e) { $("#formOpretKunde").submit(function(){ var data = {}; data.kundenummer =$("#kundenummer").val(); data.navn =$("#navn").val(); d
$(document).ready(function(e) {
$("#formOpretKunde").submit(function(){
var data = {};
data.kundenummer =$("#kundenummer").val();
data.navn =$("#navn").val();
data.adresse =$("#adresse").val();
data.postnummer =$("#postnummer").val();
data.byNavn =$("#byNavn").val();
data.email =$("#email").val();
data.telefon =$("#telefon").val();
data.cvrCpr =$("#cvrCpr").val();
$.post("klasser/opretKunde.php", data, function(response)
{
if(response == "")
{
// Det gik godt
alert("Kunde blev oprettet");
$.mobile.changePage( "./index.html", { transition: "none"} );
}
else
{
alert("Fejl! Kunden blev ikke oprettet");
}
});
return false;
});
}))
它工作正常,我的数据被输入我的数据库。问题在于我的功能(响应)。它从未进入我的if语句,我不明白为什么。我看了又看,我的回应应该是空的?
我做错了什么
我想做的唯一一件事是创建一个通知,说明客户已创建(Kunde blev Opretet),然后在通知框上按ok时转到index.html。您可以像这样使用ajax函数
$.ajax({
type: "POST",
url: "klasser/opretKunde.php",
data: data,
success: function(response) {
if(response == "")
{
// Det gik godt
alert("Kunde blev oprettet");
$.mobile.changePage( "./index.html", { transition: "none"} );
}
else
{
alert("Fejl! Kunden blev ikke oprettet");
}
}
));
为什么不直接使用
$.post
返回的jqXHR对象,这意味着您不需要测试响应对象
$.post("klasser/opretKunde.php", data )
.done( function( ) {
// Det gik godt
alert("Kunde blev oprettet");
$.mobile.changePage( "./index.html", { transition: "none"} );
})
.fail( function( ) {
alert("Fejl! Kunden blev ikke oprettet");
});
回复中是否有空格?使用
console.log(response.length)
查看它的长度。在其他情况下,一个简单的警报(response)会打印出2个字符,然后我使用console.log(response.length)现在该怎么办?很明显,您的响应有2个字符长。php答案中似乎有空格。检查脚本末尾是否有其他空格或换行符。这可以解决问题。我不太明白区别是什么,这可能不是一个好主意,因为这是一个我正在进行的学校项目。但它是有效的。谢谢你的帮助