经过多次尝试,我仍然遇到严重问题,使Ajax Post Method正常工作。
<form id="search_box" method="POST" action="" >
<input class="SEARCH" type="text" name="search_name" id="search_name" placeholder="Search product by name" /></form>
$(document).ready(function(e) {
$( "#search_box" ).submit(function() {
var search_name = $("#search_name").val();
$.ajax({
type: "GET",
url: "shop/pages/fetch_name.php",
data: "search_name=" + search_name,
dataType: "html",
success: function(risposta) {
$("#results").html(risposta);
},
error: function(){
alert("No results.");
}
});
e.preventDefault();
if(isset($_POST["search_name"])){$item_name_fetch = $_POST['search_name'];}
寻求帮助..
答案 0 :(得分:1)
这有点奇怪
因为你没有在你的ajax电话中使用请求的答案.... 您需要定义“成功与错误”。
另一件事对我来说很奇怪是你的dataType,你应该选择其中一个: xml,json,script或html
你应该使用preventDefault()
https://api.jquery.com/event.preventdefault/preventDefault
json中带有asw的Ajax之一的示例:
的index.html:
<!DOCTYPE HTML>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="myform">
<input type="text" name="search_name" id="search_name" />
<button id="btn-send">Send</button>
</div>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(document).ready(function() {
$( "#btn-send" ).bind( "click", function() {
$.ajax({
url: 'myjson.php'
,data: $('#search_name').serialize()
,type:'POST'
,dataType: 'json'
,success: function(json){
console.log(json);
}
,error: function(json){
console.log(json);
}
});
});
});
});
</script>
</body>
</html>
检查此页面: http://api.jquery.com/jquery.ajax/
myjson.php
<?php
print json_encode($_POST['search_name']);