我有2页,处理页面和表格页面。
所以基本上表单页面由很多输入文本组成,一旦用户单击提交按钮,它就会运行ajax调用并调用进程页面。进程页面需要用户的凭据,如id和密码。
我的ajax调用基本上是成功运行,但进程页面没有运行。当没有用户登录时,进程页面将输出未定义的索引消息。在这种情况下是id或密码,因为基本上没有数据传递(ID和密码)到进程页面。
这是我的ajax调用函数
function postTweet(){
$.ajax({
url : 'blablabla',
type : 'POST',
data : blablabla,
success: function() {
div1.append("Success!");
}})
.fail(function(data){
console.log(data);
});
}
所以基本上在非登录用户点击提交按钮之后,仍然会显示成功消息,尽管流程页面中没有进程正在运行。
我想要的是,如果该过程基本上没有运行,我应该提示一个正确的信息 有人能帮帮我吗?
非常感谢任何帮助。感谢
答案 0 :(得分:1)
您的success
函数可以处理参数(查看ajax成功here)
例如:
PHP文件
<?php
echo json_encode(array('test' => "hello world")); // echo any array data
exit(); // Stop php from processing more, you only want the json encoded data to be echoed
?>
Javascript文件
...
dataType: 'json', // This is needed to convert the echoed php data to a json object
success: function (response) { // "response" will be the converted json object
console.log(response);
},
...
console.log(response);
看起来像Object {test: "hello world"}
修改
在你的情况下,你可以这样做:
<?php
if ( ! isset($username) ) {
echo json_encode(array('success' => FALSE, 'message' => "Username is incorrect."));
}
...
exit();
?>
在javascript中提醒上述错误消息:
...
success: function (response) {
if (response.success) {
alert('success!');
} else {
alert(response.message);
}
},
...
答案 1 :(得分:0)
有两种方法可以解决这个问题。