[英]Post jQuery form serialized data to php
我試圖將jQuery中的序列化數據發布到php,如下所示。
$.post(location.href, $('form').serialize(), function(data){
// do something
});
它工作得很好。 但有沒有辦法可以為序列化數據設置名稱,所以我可以將該名稱用於isset()
函數? 它看起來像這樣:
我們假設表格有
<input type="text" name="input1">
<input type="text" name="input2">
file.js
$.post(location.href, {data:$('form').serialize()}, function(data){
// do something
});
file.php
<?php
if (isset($_POST['data'])) {
// retrieve the data in the serialized string and use it in a function
helperFunction($_POST['input1'], $_POST['input2']);
}
?>
<html>
// rest of the layout
</html>
我不想使用按鈕來提交表單。 我不想要它的原因是:
<button type="submit">Submit</button>
,然后在我提交表單后,當我刷新頁面(我不想要它)時,將表單提交到同一頁面將要求重新提交。 你可以添加一個隱藏變量並在post值中檢查它。
<input type="hidden" name="check_val" value="chek_val" />
<?php
if(isset($ _ POST ['check_val'])){
}?>
由於PHP從提交的POST數據中解析數組,您可以像這樣操作:
<input type="text" name="inputs[data][1]">
<input type="text" name="inputs[data][2]">
<?php
if( isset( $_POST[ 'inputs' ][ 'data' ] ) ) {
helperFunction( $_POST[ 'inputs' ][ 'data' ][ '1' ], $_POST[ 'inputs' ][ 'data' ][ '2' ] );
}
?>
但實際上我沒有看到為什么不做更簡單的原因:
<input type="text" name="input1">
<input type="text" name="input2">
<?php
if ( isset( $_POST[ 'input1' ] ) &&
isset( $_POST[ 'input2' ] ) ){
helperFunction( $_POST[ 'input1' ], $_POST[ 'ipnut2' ] );
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.