我正在使用jquery post将用户名和密码传递给PHP代码,它会检查它是否正确并将消息作为json数据返回。 Jquery post中的回调函数没有读取参数,或者有时我在json数据中接收解析错误作为意外的白色字符。 Plz建议出了什么问题。下面是代码
这是index.php中的php代码
if (isset($_SERVER['HTTP_X_REQUESTED_WITH'])
&& strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest') {
$data = "false";
if(urlencode($_POST['email']) == 'user%40domain.com' && $_POST['password'] == 'password'){
$_SESSION['username'] = 'Username';
$data = "true";
}
//echo $data;
echo json_encode(array("message" => $data));
}
现在在jquery我有
$.post('index.php', $('#target').serialize(), function(data){
if(data.message == 'true')
window.location.replace("serve.php");
else
$('.message').html("Login Failed");
},"json").fail(ajaxError);
我尝试只返回一个字符串而不是json,但是没有用,所以使用了json_encode。
下面是HTML
<form id="target"><fieldset>
<label for="email">Email</label>
<input type="text" name="email" id="email" value="" class="text ui-widget-content ui-corner-all">
<label for="password">Password</label>
<input type="password" name="password" id="password" value="" class="text ui-widget-content ui-corner-all">