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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值