jquery.ajax发布问题

时间:2011-03-04 21:03:56

标签: php jquery

我是学习jquery.ajax的新手。通过一些教程,我自己尝试了一些代码,但遇到了一些麻烦。所以我请求帮助。

我尝试这样做:打开a.php,将html数据从div#send发送到b.php,然后返回数据并显示在div#result

a.php

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script> 
<script language="javascript"> 
$(document).ready(function () {      
var params = "value=" + $('#send').text();   
$.ajax({        
     url:'b.php',        
     type:'post',                 
     dataType:'html',            
     data:params,                
     success:data     
     }); 
function data (html) {   
var str=html.send;   
alert(html);
$("#result").html(str); 
} 
}); 
</script>
<body>
<div id="result"></div>// I need return 'this is an apple.'
<div id="send">apple</div>

b.php

<?php
echo 'This is an '.$_REQUEST['value'].'.'; 
?>

2 个答案:

答案 0 :(得分:1)

您没有使用ajax请求发送任何有效参数。如果您需要#send的文本内容,则需要使用:

$('#send').text();

虽然这只会给你一个字符串,但它必须是:

var params = "value=" + $('#send').text();

除此之外,$_REQUEST是一个数组,因此您必须使用类似$_REQUEST['value']

的内容

第三点是你的成功函数过于复杂和错误(html.send不存在),它可能只是:

success: function(msg){
  $("#result").html(msg);
}

答案 1 :(得分:0)

要从b.php返回数据,您必须执行echo