我的问题是: 我正在尝试检索postvalue,但每当我在php代码中放入该语句时,ajaxcall都会失败。
我看不到我在这里缺少什么?
$.ajax({
url: "includes/livetabs.php?actie=sessiegebruikersnaam",
data: {gebruikersnaam: tbgebruikersnaam},
cache: false,
dataType: "json",
success: function(data) {
//opslaan van gebruikersnaam in php sessie
/*$.post("includes/livetabs.php", {"sessiegebruikersnaam": chatnaam},
function(data){*/
//doe nog iets
aa= data.status;
bb=data.naam;
//krijg de instellingen terug
alert(aa);
alert(bb);
}});
//php section
if(isset($_GET['actie'])){
**$n=$_POST['gebruikersnaam'];**
if ($_GET['actie']=="sessiegebruikersnaam"){
if (!isset($_SESSION['username'])){
$_SESSION['username'] = $n ;}
header('Content-type: application/json');
//geef ook meteen de secondary instellingen terug
?>
{
"status": "somevalue",
"naam": "anothervalue"
}
<?php
exit(0); // Stop het script.
}
}
谢谢,理查德
答案 0 :(得分:0)
编辑:你传递给服务器的东西应该用括号括起来,同样,为了清楚起见,我会指明请求的类型:
data: ({gebruikersnaam : tbgebruikersnaam}),
type: "POST", //just in case
糟糕的json不能与$ .ajax一起使用。尝试在服务器上使用json_encode生成json:
//php section
if(isset($_GET['actie'])){
**$n=$_POST['gebruikersnaam'];**
if ($_GET['actie']=="sessiegebruikersnaam"){
if (!isset($_SESSION['username'])){
$_SESSION['username'] = $n ;}
header('Content-type: application/json');
//geef ook meteen de secondary instellingen terug
echo json_encode(array('status' => 'someValue', 'naam' => 'anotherValue'));
exit();
?>
此外,使用$.getJSON代替$ .ajax可能会更清楚。