[英]Passing a JavaScript Array To PHP Through JQuery $.post
這段代碼獲取所有表單變量,並通過AJAX將其發送到PHP腳本。 但我希望通過JSON編碼數組返回到javascript的PHP腳本的計算結果的格式為“ post”:{“ uname”:“ someNamefromForm”,“ email”:“ someEmail”,“ fname“:” namefromtheform“,” lname“:” lastnamefromform“} ...我現在得到的輸出是” uname = e&email = e&fname = e&lname = euname“。。這是我想在其中顯示的JSON數組頁面底部用於調試目的。 有人可以告訴我如何格式化嗎
這是我的HTML表格
<div id="wrapper">
<h2> Validation with AJAX,JQuery,JSON and PHP</h2>
<div class="form-container">
<span id="ajax-message"></span>
<form id="ajax-form" onsubmit="return false;">
<p class="legend">All fields marked with an asterisk are required.</p>
<fieldset>
<legend>User Details</legend>
<div>
<label for="uname">Username <em>*</em></label>
<input id="uname" type="text" name="uname" value="" />
</div>
<div>
<label for="email">Email Address <em>*</em></label>
<input id="email" type="text" name="email" value="" />
</div>
<div>
<label for="fname" class="error">First Name <em>*</em></label>
<input id="fname" type="text" name="fname" value="" size="50" class="error"/>
<p class='note'>All error message go here </p>
</div>
<div>
<label for="lname">Last Name <em>*</em></label>
<input id="lname" type="text" name="lname" value="" size="50" />
</div>
</fieldset>
<div class="buttonrow">
<input type="submit" value="Submit This Form via AJAX" class="button" />
<input type="button" value="Start Again" class="button" />
<a >Refresh this Page</a>
</div>
</form>
</div>
<h3>JSON Array</h3>
<pre id='debug'></pre>
</div>
這是我的JavaScript
$("#ajax-form").submit(function(){
var variableToSend = $(this).serialize();
$.post(
'ajaxformval_post.php',
{variable: variableToSend},
function(data){$("#debug").html(data)},
"json"
);
})
這是PHP
<?php
$variable = $_POST['variable'];
echo json_encode($variable);
/*$json = array(
'booleanFlag' => TRUE,
'someText' => "AJAX should be renamed AJAJ",
'anArrayOfData' => array('name' => 'Mickey', 'ears' => 'very Big')
);*/
?>
您可以像這樣直接發送序列化變量:
$("#ajax-form").submit(function(){
var variableToSend = $(this).serialize();
$.post(
'ajaxformval_post.php',
variableToSend,
function(data){$("#debug").html(data)},
"json"
);
});
然后在服務器端只需輸出json_encoded帖子:
<?php
$variable = $_POST;
echo json_encode($variable);
?>
您是否嘗試過通過$ .post方法更改“ json”參數?
根據文檔https://api.jquery.com/jQuery.post/
dataType
Type: String
The type of data expected from the server. Default: Intelligent Guess (xml, json, script, text, html).
因此,我想如果您給他“ json”,他將自動解碼返回的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.