我正在尝试创建以下方案:
我的索引文件中的表单收集用户的输入,用于进行一些计算。这个计算的结果应该在同一页面上的一个漂亮的界面中回显给他,而不需要重新加载。
目前,results.php页面正确接收输入。现在,我只想在主页面上的结果div中显示它,而不重新加载results.php。 .load是错误的命令。我需要像“.show”这样的东西......任何想法?
HTML:
<form action="results.php" method="post" class="ajaxform">
//all the inputs
<input type="submit" value="see your results" class="button"/>
</form>
<div id="results">
//here he should see the results.php output
</div>
的jQuery
jQuery(document).ready(function(){
jQuery('.ajaxform').submit( function() {
$.ajax({
url : $(this).attr('action'),
type : $(this).attr('method'),
data : $(this).serialize(),
success : function( data ) {
alert('Form is successfully submitted');
setTimeout(function() {
$('#results').load('results.php');
}, 1000);
},
error : function(){
alert('Something wrong');
}
});
return false;
});});
答案 0 :(得分:0)
更改此
$('#results').load('results.php');
要
$('#results').html(data);
如果返回的结果为data
变量。
答案 1 :(得分:0)
如果我理解你的问题, results.php 会收到你在div #result 中显示的输出。 要使用来自ajax-request的返回数据,您将 data 作为javascript变量。要在div中显示结果,您需要在ajax-call的success函数中使用以下语句。
function myFunction(data){
console.log(data);
}