[英]How to fetch data from ajax post call?
我想從ajax發布中獲取數據。 我的ajax文件如下:
$('#login').on('click',
function (e) {
// alert("login ic clicked");
e.preventDefault();
// var contents = $(this).serialize();
// alert("hello in success");
var username = $('#username').val();
var password = $('#password').val();
alert(username);
$.ajax(
{
url:'check_login.php',
type:'POST',
dataType:"json",
data: "{'username':'" + username + "','password':'" + password + "'}",
contentType: "application/json; charset=utf-8",
success:function(data)
{
// $('#addTitleStatus').removeClass('show alert-success alert-danger');
alert("i am in success");
if(data.success)
{
alert("data is ok" + data.result);
// $('#addTitleStatus').addClass('alert-success');
// $('#addTitleStatus').html(data.result);
// $('#addTitleStatus').addClass('show');
}
else
{
alert(data);
// $('#addTitleStatus').addClass('alert-danger');
// $('#addTitleStatus').html(data.result);
// $('#addTitleStatus').addClass('show');
}
},
}
);
// alert("Wfah");
});
我的check_login.php文件如下:
<?php
$json = array('success' => false,
'result' => 0
);
$username = $_POST['username'];
json_decode($username);
$json['result'] = $username;
$json['success'] = "true";
echo json_encode($json);
?>
Firefox顯示以下內容:
注意 :未定義的索引:第6行上的/opt/lampp/htdocs/ambition/check_login.php中的用戶名{“ success”:“ true”,“ result”:null}
請幫我解決這個問題。
data:
選項應該是對象或形式為param=value¶m=value
的字符串,而不是JSON字符串。 通常首選object方法,以便jQuery對其進行正確編碼。 所以應該是:
data: { username: username, password: password },
要么
data: 'username=' + encodeURIComponent(username) + '&password=' + encodeURIComponent(password),
並擺脫contentType:
選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.