来自PHP的Jquery ajax响应未定义
jquery ajax response from php undefined
使用ajax获取php响应时遇到问题。javascript似乎是正确的,因为如果我删除login_ajax.php上的所有内容,只使用以下
,它就可以工作echo 'CORRECT'
//or
echo 'INCORRECT'
一旦我使用了真正的php代码,ajax就不会从php得到任何响应。如果我去掉
就更奇怪了return false
,然后提交表单,我看到正确或不正确显示在浏览器的login_ajax.php。
HTML:<form id="login" action='login_ajax.php' method="get">
<label>Email: <input type="text" name="email" id="email" value="nano@nano.com"></label>
<label>Password: <input type="text" name="password" id="password" value="x"></label>
<input type="submit" value="login">
<div id="straight_response">php response here</div>
<div id="message">status</div>
</form>
PHP: if (isset($_GET['password'])) {
$email = $_GET['email'];
$password = $_GET['password'];
$stored_pass = "123";
if ($password == $stored_pass) {
echo "CORRECT";
} else {
echo "INCORRECT";
}
}
//Javascript works when using one of the two lines below instead of the code above
//echo 'INCORRECT';
//echo 'CORRECT'
JAVASCRIPT: $('#login').submit(function(){
var email;
var password;
email = $('#email').val();
password = $('#password').val();
var data = {};
data.email = email;
data.password = password;
var options = {};
options.dataType = 'text';
options.type = 'get';
options.url= 'login_ajax.php';
options.success = function (response) {
// jQuery.trim(response);
console.log(response.results);
console.log(response.query);
$('#always').text(response);
if (response === 'CORRECT') {
$('#message').text('you got it right');
console.log("good combination");
}
else if (response === 'INCORRECT') {
$('#message').text('sorry, try again');
console.log("bad combination");
}
};
$.ajax(options);
return false;
});//#login function
哦,天哪,我实际上花了40分钟试图了解你的问题里面,结果是,事实是,你不传递data
你收集从表单到PHP通过AJAX。
很简单,在你打电话之前加上这行:
options.data = data;
尽管,正如文档所述:
通常不需要直接调用这个函数,因为有几个更高级的替代函数,如
$.get()
和.load()
,它们更容易使用。
在你的情况下,我认为$.get()
工作一样好。虽然你可能想看看JerrySeeger在评论中说的话,看起来使用GET
作为密码可能代表一个巨大的安全漏洞,你也应该使用SSL
相关文章:
- 页面加载时未定义的 ajax 响应
- 使用 RESTful API,如果未定义特定的响应 json 级别,我如何在客户端不出错
- Cordova嵌入式网络视图未响应navigator.camera未定义
- 如何在未定义类时从 AJAX 响应中获取锚标记值
- Angular ReferenceError:未定义响应
- ember dev fixes错误:“;断言失败:findAll的响应必须是数组,而不是未定义的“”;
- 无法调用方法'发送'express js中未定义的(响应未定义)
- 错误:未定义响应
- JSON响应一直未定义(ajax文件上传)
- AngularJS HTTP 资源 - 响应函数未定义
- 值是未定义的,直到响应出现在 AngularJS 中
- FB.api 响应未定义
- 角度“响应未定义”时尝试为资源实现全局错误处理程序
- JQuery AJAX 响应未定义
- 为什么对象响应未定义
- 向节点发送ajax get请求,响应未定义
- AngularJS拦截器ResponseError响应未定义
- 来自PHP的Jquery ajax响应未定义
- 响应未定义/到达太晚- Facebook API FB.api
- Ajax响应未定义或奇怪