[英]How to access the data from return JSON from webservice in javascript or jquery
[英]Create JSON string to post into a webservice in jQuery/Javascript
我有一個html表單,一個按鈕和一個單擊處理程序來管理表單的提交。 問題特別是關於通過AJAX提交表單的按鈕的處理程序。
這是我寫的處理程序:
JS:
$('#create').click(function(event) {
console.log('Create Button Click');
var dataJSON = JSON.stringify( $('#customer_form').serializeArray() );
console.log(dataJSON);
$.ajax({
type: "POST",
url: "/customer/",
// The key needs to match your method's input parameter (case-sensitive).
data: dataJSON,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data){
console.log('Success');
console.log(data);
},
failure: function(errMsg) {
console.log('Error');
console.log(errMsg);
}
});
event.preventDefault();
});
我已經使用JSON.stringify( $('#customer_form').serializeArray() );
生成JSON字符串,得到結果-如console.log(dataJSON)
:
[{"name":"name","value":"n"},{"name":"address_line_1","value":"a1"},{"name":"address_line_2","value":"a2"},{"name":"town","value":"t"},{"name":"postal_code","value":"p"},{"name":"region","value":"r"},{"name":"phone_1","value":"p"},{"name":"phone_2","value":"pa"},{"name":"fax","value":"f"},{"name":"email","value":"e"},{"name":"web","value":"w"}]
這將是獲得以下結構的最簡單方法:
[{"name": "n", "address_line_1": "a1", "address_line_2": "a2", "town": "t", "postal_code": "p", "region": "r", "phone_1": "p", "phone_2": "pa", "fax": "f", "email":"e", "web": "w"}]
這樣的事情應該起作用。
let obj = {}
for (let object in array) {
obj[object['name']] = object['value']
}
var arr = [{"name":"name","value":"n"},{"name":"address_line_1","value":"a1"},{"name":"address_line_2","value":"a2"}, {"name":"town","value":"t"},{"name":"postal_code","value":"p"},{"name":"region","value":"r"},{"name":"phone_1","value":"p"},{"name":"phone_2","value":"pa"},{"name":"fax","value":"f"},{"name":"email","value":"e"},{"name":"web","value":"w"}]; var acc = {}; //firstly lets flat your name and value to one new object var newArr = arr.map(item=>{ var newItem={}; newItem[item.name] = item.value; return newItem; }); //secondly we reduce flat all rows inside the newArr.. //..to one unique object acc newArr.forEach(item=>{ Object.keys(item).forEach(key=> acc[key] = item[key]); }); //now you one unique object which you can serve.. // inside a new array [acc] console.log([acc])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.