使用jQuery.ajax
來執行ajax請求,而不是根據需要呈現響應。這裏有一個例子:
<form>
<input type='hidden' id='id'>
<input type='button' id='fetchData'>
<div id='content_placeholder'></div>
</form>
<script type='text/javascript'>
$(document).ready(function(){
$("#fetchData").click(function(){
var id = $('#id').val();
$.ajax({
type:'post',
dataType:'json',
url: '*backend url here*'
success: function(data, textStatus){
renderData(data);
//This will remove this button, so user will not be able
//press it two times
$("#fetchData").remove();
}
});
});
});
function renderData(data){
var placeholder = $('#content_placeholder');
//...perform operations on data....//
createInput('name_input','name',data.name).appendTo(placeholder);
createInput('description_input','description',data.name).appendTo(placeholder);
}
function createInput(id, name, value){
var result = $("<input>").attr({id:id, name:name}).val(value);
return result;
}
</script>
在你的後臺,你將不得不使用json_encode
有一個JSON兼容的方式編碼數據。這裏有一個例子:
<?php
$result = array('name'=>'John Smith', 'description'=>'Unknown buddy');
echo json_encode($result);
?>
見jQuery.ajax,PHP json_encode瞭解詳情。
最新問題?你爲什麼不能成功呢,你解釋得很好。 – TJHeuvel
聽起來像你需要爲用戶分配一個cookie(除非ID或任何其他信息是敏感的)或會話。我相信這是您通過PHP將頁面之間的數據進行移動的唯一方式。如果表單已經在同一頁面上,那麼AJAX應該更容易處理。 –
AJAX是答案,除非當然你想做一個表單提交刷新頁面,並用混合的HTML/PHP代碼填充這些輸入,但這不是要走的路。 – Sleeperson