php数组数据在JQuery中不起作用
问题出在jQuery中,php数组数据在JQuery中不起作用,php,jquery,html,Php,Jquery,Html,问题出在jQuery中,jsondata.uname没有显示任何结果。如果我在PHP中回显$myarray,并在jQuery中使用data,它将以数组形式显示结果 $(document).ready(function() { $('button#myloginbtn').on('click', function(e) { e.preventDefault(); var username = $('input#myusername').val();
jsondata.uname
没有显示任何结果。如果我在PHP中回显$myarray
,并在jQuery中使用data
,它将以数组形式显示结果
$(document).ready(function() {
$('button#myloginbtn').on('click', function(e) {
e.preventDefault();
var username = $('input#myusername').val();
var password = $('input#mypassword').val();
$.post('home.php', {
domylogin: 'domylogin',
username: username,
password: password
}, function(data) {
jsondata = JSON.parse(data);
$('p#auser').text(jsondata.uname); // This is not working
});
});
});
home.php:
<?php
if (isset($_POST['domylogin'])){
$myuname = $_POST['username'];
$mypword = $_POST['password'];
// temporary testing, later i will return some data from database related to these values
$myarray = array();
$myarray['uname'] = $myuname;
$myarray['pword'] = $mypword;
echo json_encode($myarray);
}
?>
在您的PHP文件中:-
$myarray = array();
if (isset($_POST['domylogin'])){
$myuname = $_POST['username'];
$mypword = $_POST['password'];
$myarray['uname'] = $myuname;
$myarray['pword'] = $mypword;
}
echo json_encode($myarray);
编写AJAX调用,如下所示:-
$.post('home.php', {
domylogin: 'domylogin',
username: username,
password: password
})
.done(function( data ) { // Use done function
jsondata = JSON.parse(data);
if(jQuery.isEmptyObject(jsondata) == false) // check jsondata is empty or not
console.log(data);
$('p#auser').text(jsondata.uname);
});
希望它能帮助您:-谢谢大家的支持,我已经解决了这个问题。我的php文件中有一些html代码,在删除“home.php”中的html代码时,一切正常
console.log(jsondata)代码>。希望你会得到什么是错误的。console.log(数据);签入browserjQuery将自动为您解析对对象的响应。在该对象上再次使用JSON.parse()
将导致错误。删除JSON.parse(data)
行并使用$('p#auser').text(data.uname)
试试这个{'domylogin':1,…}
@VairaMuthu在哪里放置console.log(data);检查我的最新答案。你们在“完成”功能中得到数据了吗?什么都做了,还是并没有运气!