我希望用PHP发布时使用jQuery显示Loader图像Simple action =“search.php”不是ajax post或jquery post 并感谢所有
答案 0 :(得分:1)
如果不使用AJAX,这个问题无法以有意义的方式解决。换句话说,您需要AJAX来显示“加载”图像,而表单提交的响应由服务器处理。
如果我理解正确,那么你有一个表格:
<form action="search.php" method="post">
...
</form>
它作为常规HTML表单处理。页面将数据传递给使用PHP处理它的服务器。如果没有AJAX,您无法找到表单的响应,搜索结果何时准备就绪。
通常,所做的是使用AJAX将表单提交给服务器。表单由服务器处理(PHP完成其工作)。在此期间,显示“搜索”图像。然后,当服务器响应时,将删除图像并显示搜索结果。
在页面上使用jQuery和AJAX可以这样做:
// The form has an id of "theForm".
// This function defines what happens when it is submitted.
$('#theForm').submit(function() {
// Replace the form w the search icon.
$("#theForm").html('Searching...<br/>' +
'<img src="http://i.stack.imgur.com/ZK0sq.gif" />');
// Make the search request to the PHP page.
// The 3 arguments are:
// 1 - The url. 2 - the data sent
// 3 - The function called when data is sent back
$.post("/ajax_html_echo/", $(this).serialize(), function(result){
// Here we replace the search image with the data
$("#page").html(response);
});
// Cancel the regular submission of the form.
// You have to do this, or the page will change and things won't work.
return false;
});
上面的好处是,如果JS关闭,它会很好地降级,因为你仍然有常规的HTML表单和它的常规提交功能,如果JS打开,那么它会阻止这个常规功能return false
并使用AJAX。
使用Jquery:
的 .submit() 强>
的 .html() 强>
的 .post() 强>
的 .serialize() 强>