php如何获取ajax请求,php-从ajax调用获取json数据
我的問題是:我的php腳本如何發送json類型數據
并收到返回成功或完成的功能?
我試圖讓this聊天功能在我的網站上工作
因為它不起作用,所以我在代碼中創建了一個最小化部分以進行檢查
如果與json方法有關.
我只測試了在處理phpscript之后是否可以找回會話名稱
我得到的是“未定義”而不是“ johndoe”.
我不知道可能是什么問題.
顯然,如果您在創建者頁面上看到注釋,則該腳本對于其他腳本來說效果很好.
這是我的測試代碼
session_start();
$_SESSION['username'] = "johndoe" ;// Must be already set
?>
$(document).ready(function(){
$("#testjson").click(function(e){
startJsonSession();
return false;
});
function startJsonSession(){
$.ajax({
url: "jsontest.php?action=startjson",
cache: false,
dataType: "json",
complete: function(data) {
username = data.username;
alert(username);
}
});
}
});
//the php script
if ($_GET['action'] == "startjson") { startjsonSession(); }
function startjsonSession() {
$items = '';
/*if (!empty($_SESSION['openChatBoxes'])) {
foreach ($_SESSION['openChatBoxes'] as $chatbox => $void) {
$items .= chatBoxSession($chatbox);
}
}
if ($items != '') {
$items = substr($items, 0, -1);
}*/
header('Content-type: application/json');
?>
{
"username": "<?php echo $_SESSION['username'];?>",
"items": [
]
}
exit(0);
}
?>
謝謝,理查德
解決方法:
理查德,您應該研究PHP中的json_encode()函數.它將數組快速轉換為JSON,并使您不必處理大量數據的JSON語法的細微差別.
更新:修改后的代碼
session_start();
$_SESSION['username'] = "johndoe" ;// Must be already set
?>
$(document).ready(function(){
$("#testjson").click(function(e){
startJsonSession();
return false;
});
function startJsonSession(){
$.ajax({
url: "jsontest.php?action=startjson",
cache: false,
dataType: "json",
complete: function(data) {
username = data.username;
alert(username);
}
});
}
});
if ($_GET['action'] == "startjson") {
startjsonSession();
}
function startjsonSession() {
$items = '';
print json_encode(array(
"username" => "bob",
"items" => array(
"item1" => "sandwich",
"item2" => "applejuice"
)
));
}
?>
標簽:php,jquery,json,ajax
來源: https://codeday.me/bug/20191010/1883443.html
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的php如何获取ajax请求,php-从ajax调用获取json数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php单机session消失_Sessi
- 下一篇: php如何给数组取名,给表单取名可以为数