首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

关于ajax和php页面接收并返回值的有关问题!

2013-02-24 
关于ajax和php页面接收并返回值的问题!求救!!!急这是1.php页面script typetext/javascript srcjquer

关于ajax和php页面接收并返回值的问题!求救!!!急
这是1.php页面


<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$.ajax({
      type: "GET",
      url: "2.php",
      data: {id:"123456"},
      dataType: "json",
       success: function(msg)
       {  
      $("#returncontent").html(msg);
   } 
});
});
});
</script>
<div id="returncontent">这是要显示的地方</div>
<button type="button">按钮</button>

这是2.php页面
<?php
echo "1111";
?>
这样是可以正常显示,但如果我把1.php$("#returncontent").html(msg);
改成$("#returncontent").html(msg.message);
那么我在2.php应该如何来写才能返回给1.php,我试过用echo "{"message":".$_GET['id']."}";的返回id值,但如果我想写成echo "{"message":"<div><input type='submit' name='submit' value='提交'></div>";却老是没有显示!!麻烦求教,新手!!!
[解决办法]
echo "{"message":"<div><input type='submit' name='submit' value='提交'></div>";
有语法错误。
你的交互方式采用json,即可以用 json_encode() 来输出JSON格式文本
<?php
$data = array(
    'message' => "<div><input type='submit' name='submit' value='提交'></div>"
);
echo json_encode($data);

[解决办法]
$result = array(
    'content' => '具体的内容',
    'message' => 'XX成功',
    'statu' => 1,
);

==========
JS我一般这样
$.post('2.php', {id:123456}, function(data){
    if(data.message)alert(data.message);
    if(data.statu==0)return;
    $('#XXXXX').html(data.content);
    //...更多处理操作a
});
[解决办法]
1、在 IE 系列的浏览器中测试时,要注意清除缓存
2、2.php中的所有可能的输出都要放在一个数组内
输出时用 
echo json_encode($array);

注意:由于 json_encode 只支持 utf-8 编码的中文,所以输出中有中文时要注意转码

[解决办法]


<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$.ajax({
      type: "GET",
      url: "2.php?id=1234",
       success: function(msg)
       {  
      $("#returncontent").html(msg.message);
      $("#returncontent1").html(msg.message1);
      $("#returncontent2").html(msg.message2);
   } 
});
});
});
</script>
<div id="returncontent">这是message要显示的地方</div>
<div id="returncontent1">这是message1要显示的地方</div>


<div id="returncontent2">这是message2要显示的地方</div>
<button type="button">按钮</button>



然后在PHP里 用$_GET获取
[解决办法]
echo json_encode($data);

echo "111"; 

页面返回的文本 是两次echo的相加 

那最终数据就不是标准的JSON格式了 那JAVASCRIPT就解析不了 

如果页面有其他操作处理的话,一般先处理 处理失败 返回失败的JSON 处理成功返回成功的JSON
[解决办法]
楼主,你不能重新写个页面来处理其它问题么?ajax的数据只能用一个页面。还有如果你说用的mvc架构的话,不同的action就可以处理不同的事情了。你那样在同一个页面又是输出json数据,又是输出php的数据,那是不行的
[解决办法]
你的其它值肯定没有办法输出。

因为你的其它值并没有json_encode转换

热点排行