这里我有一个JavaScript文件的表单,该文件抓取输入并在单击按钮时使用jQuery的AJAX方法将其发送到瘦PHP页面。 PHP只需打印"Hello and welcome person_name",假设名称已设置,这正是我想要的。如果请求成功,我想在同一页面的div元素中显示该文本,如果失败,则显示alert。但如果它是错误的,我在div元素中显示"Error"文本。Ajax只请求返回错误,但状态码是200 OK
现在,当我测试这个我只看到文本"Error"打印在div。我检查了页面,看到的状态为200 0K,响应"Hello and welcome my_name和其他详细信息...
Submit
$("button#n").click(function() {
$("p").html("YOU ARE HERE 1");
var $username = $('input#x').val();
var $password = $('input#y').val();
var $mydata = $('.myform').serialize();
if ($username != "" && $password != "") {
$.ajax({
data: $mydata,
dataType: 'text',
type: 'POST',
url: 'http://localhost/products/s11.php',
success: function(responseText) {
$('#display').html(responseText);
},
failure: function() {
alert("Failed");
},
error: function() {
$('#display').html("Error");
}
});
}
return false;
});
if(isset($_POST['username'])) {
print "Hello and welcome" . " " . $_POST['username'];
} else { ?>
//do something else...
2017-07-20
smacaz
+1
如果响应是200 OK但错误处理程序被击中,那么通常意味着响应存在格式问题。尝试将正确的参数添加到'error'处理函数中,以使您能够获取错误描述来诊断 –
+0
尝试使用'echo“Hello and welcome”。 “”。 $ _POST ['username'];'而不是'print'。 –
+0
使用'echo'而不是'print' –