我正在尝试使用PHP和&amp ;;做一些非常基本的AJAX。 jQuery,但出于某种原因,当我在输入字段中输入文本并单击按钮时,我总是得到空数据。我做错了什么?
WebService.php:
<?php
$return['ReturnString'] = $_POST['SearchString'];
for ($i = 1; $i < 100; $i++)
{
$return['ReturnString'] = $return['ReturnString'] . $_POST['SearchString'];
}
return json_encode($return);
?>
HTML:
<html>
<head>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("jquery", "1");
</script>
<script type="text/javascript" src="Scripts/script.js"></script>
</head>
<body>
<form>
<div>
<input type="text" id="txtJavaPHP" />
<input type="button" id="btnJavaPHP" value="Go" />
<br />
<br />
<span id="spanJavaPHP"></span>
</div>
</form>
</body>
</html>
的script.js:
$(document).ready(SetupButtonClicks);
function SetupButtonClicks() {$('#btnJavaPHP').click(DoPHP);}
function DoPHP() {
$.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
url: 'WebService.php',
dataType: 'json',
data: {
SearchString: $('#txtJavaPHP').val()
},
success: function (data) {
if (data == null)
$('#spanJavaPHP').text("Data is null");
else
$('#spanJavaPHP').text(data.ReturnString);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
$('#spanJavaPHP').text('There was an error: ' + errorThrown);
}
});
return false;
}
答案 0 :(得分:7)
我认为问题出在这里,但我暂时没有使用AJAX,所以我无法完全通过AJAX代码:
echo $return['ReturnString']; return json_encode($return);
你应该回应json_encode($return);
echo json_encode($return);
这应该有希望解决它。虽然我不知道你为什么要将这些数据循环100次......但是是的。