![](/img/trans.png)
[英]How can I use AJAX to fetch data and store it in javascript variables?
[英]How to format 2 variables for 1 ajax call so I can use the data easily?
我有這個點擊事件...
$('#save').on('click', function(){
var employee = $('#employee').serialize(); // form with name, phone, email etc.
var training = []; // empty array for now
$('.entry').each(function(){
var tid = $(this).attr('id'); // number
var start = $(this).find('#start').val(); // date
var expiration = $(this).find('#expiration').val(); // date
var entry = [tid, start, expiration]; // create array with data
training.push(entry); // push each entry into array
});
$.ajax({
method: 'post',
url: 'brain.php',
data: {'training':training, 'employee':employee},
success: function(results) {
console.log(results)
}
});
});
收到此調用的PHP看起來像這樣...
$employee = $_POST['employee']; // has string of input values
$training = $_POST['training']; // has array of entries
現在可以正常工作了,我收到了兩個變量,但是出於我的目的,它們有點難以使用,即將它們放入數據庫中。 我真的不知道如何輕松地獲取數據。 我想要這樣的東西...
$firstName = $_POST['employee']['first-name']; // first-name input
$lastName = $_POST['employee']['last-name']; // last-name input
$entry1 = $_POST['training'][0]; // array data found in 0
$entry2 = $_POST['training'][1]; // array data found in 1
我的問題是,我必須在javascript或PHP中進行哪些更改才能獲得所需的內容,並使這些內容更易於使用? 我想我在這里缺少一個關鍵概念。
我認為,由於您沒有太多數據,因此您可以手動為員工創建一個對象,而不是使用序列化。 您也可以將對象用於訓練條目,而不是使用數組,然后訓練數組中的每個點都有一個對象來代表訓練,其ID與訓練數組中的位置相對應。 有點羅word,但這就是我的意思:
$('#save').on('click', function(){
var employee = {
"first-name":$('#employee').find('[name=first-name]').val(),
"last-name":$('#employee').find('[name=last-name]').val()
};
var training = []; // empty array for now
$('.entry').each(function(){
var tid = $(this).attr('id'); // number
var start = $(this).find('#start').val(); // date
var expiration = $(this).find('#expiration').val(); // date
var entry = {start:start,expiration:expiration}; // create object with data
training[tid] = entry; // push each entry into array, using ID of entry as index
});
var data = {employee:employee, training:training};
//POST function here - use data variable as data
});
這是一個小提琴: http : //jsfiddle.net/x2hfb719/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.