在jquery代码中使用success: function(data)
,当我从PHP检索数据时,我无法在jQuery代码中显示参数str"=>$dataString
。
success: function(data) {
alert(data[0]);
$("#display").html(data[str]);
}
ajax.php:
<?php
if (isset($_POST['dataString'])) {
$dataString=$_POST['dataString'];
echo (array("str"=>$dataString));
} else {$_POST['dataString']="";}
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="./public/stylesheets/stylesheets.css" >
<script type="text/javascript" src="./public/js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" >
$(document).ready(function() {
var dataString;
$("#valueforajax").blur(function() {
dataString = $.trim(this.value);
if (dataString){
// until here it works
$.ajax({
type: "POST",
dataType: 'html',
url: "ajax.php",
data: 'dataString=' + dataString,
//{"dataString": dataString}
cache: false,
success: function(data) {
alert(data[0]);
$("#display").html(data[str]);
}
});
}
});
});
</script>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255">
<title>mange panel</title>
</head>
<body>
<br>Type value for test in ajax<input id="valueforajax" type=text name='ajaxtest'>
<div id="display">show</div>
</body>
</html>
答案 0 :(得分:1)
如果我理解你想将php数组返回给Jquery并在那里使用它?
如果是这样json_encode在php中的数组然后将其返回到javascript,那么你应该能够使用它。
答案 1 :(得分:1)
ajax.php
<?php
if (isset($_POST['dataString'])) {
echo $_POST['dataString'];
exit(0); //this will supress html output
}
else {
//do nothing
}
?>
$.ajax({
type: "POST",
dataType: 'html',
url: "ajax.php",
data: 'dataString=' + dataString, //{"dataString": dataString}
cache: false,
success: function(data)
{
alert(data);
$("#display").html(data);
}
});
答案 2 :(得分:0)
我相信来自服务器的响应应该是json字符串或只是一个字符串。
<?php
if (isset($_POST['dataString'])) {
$dataString=$_POST['dataString'];
echo json_encode(array("str"=>$dataString));
exit(0);
}
else {
echo json_encode(array("str"=>""));
exit(0); //you don't want rest of html in respose too.
}
?>
并且成功
var obj = jQuery.parseJSON(data);
alert( obj.str);