我有这个ajax请求,但成功部分不起作用我已经工作了一个小时但是无法得到有任何我想念的东西。
$.ajax({
url: "ajaxsearch",
type: 'POST',
dataType: "jsonp",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
data: JSON.stringify(eval({
name_startsWith: request.term
})),
success: function (data) {
alert("yoo"); //What ever I write do not get executed is any thing wrong
}
});
答案 0 :(得分:1)
url: "ajaxsearch"
最有可能是url: "ajaxsearch.php"
/ url: "ajaxsearch.ashx"
您确定dataType是jsonp
而不是json
吗?
不要eval()
- 这是邪恶的
检查有关您未在成功处理程序中结束的错误:
error: function(jqXhr, status, error) { /* handle error here */ }
由于这是搜索,因此您应该使用type: 'GET'
而不是POST。 POST通常在将数据保存到服务器时使用(例如,在提交表单时。这只是一般指导。GET
是默认值,因此您可以删除该属性。
答案 1 :(得分:0)
我建议你首先尝试使jQuery Ajax使用简单的代码然后进行修改。您可以尝试以下代码段:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$(function() {
$("#btnSend").click(function(){
var args = {
url : "http://localhost:8080/JqueryAjaxPrj/CustomerServlet",
type : "POST",
success : handleResponse,
dataType : "json",
data : {my-status: "test", my-name: "xyz"}
};
$.ajax(args);
});
});
function handleResponse(response) {
alert(response);
}
</script>
</head>
<body>
<button id="btnSend">Send Request</button>
<br>
</body>