下面是我的工作副本。我能够让代码正常工作。我设置了一个本地测试。关键是e.preventDefault(),它阻止表单实际提交,从而导致问题。此外,您可能希望从问题中删除API密钥。希望这有帮助。
<html>
<head>
<script
src="http://code.jquery.com/jquery-1.12.4.js"
integrity="sha256-Qw82+bXyGq6MydymqBxNPYTaUXXq7c8v3CwiYwLLNXU="
crossorigin="anonymous"></script>
</head>
<body>
<form id="searchForm" method="get">
<input type="text" name="name">
<input type="submit" name="submit">
</form>
<div id="searchresults"></div>
<script type="text/javascript">
$(document).ready(function(){
$("#searchForm").on("submit", function (e) {
e.preventDefault();
var data = $(this).serialize(); // this refers to submitted form, serizlize well see later in console:
console.log(data);
var display = $("#searchresults");
display.text('CALCULATING');
$.ajax({
type: "GET",
url: "/~lebreuillyj/project/webservice/search.php?" + data,
dataType: "json",
success: function(result)
{
console.log(JSON.stringify(result));
var output = "";
for(var i=0; i < result.length; i++)
{
output+= result[i]['name'] + "<br />";
}
display.append(output);
$("#searchresults").append(output);
},
error: function(xmlHttpRequest, statusMessage, httpCode)
{
console.log("HTTP code=" + httpCode + " statusMessage=" + statusMessage + " full response text" + xmlHttpRequest.responseText);
alert("/~lebreuillyj/project/webservice/search.php?" + data);
}
});
});
});
</script>
</body>
</html>