JSONデータに完全に基づいて構築されたプロジェクトでの作業を開始します。次のように返されます。
{"location":{"id":10,"contactPhone":"8675309","contactName":"bob","name":"bill smith","zipCode":"90210","state":"California","address1":"104 S. Olive","city":"Temecula","country":"USA"},"success":true}
.findやその他のフィルタリングを使用してDOMをトラバースし、成功フラグを見つけることで、HTML形式で返されたデータ(通常はテーブル)を快適に処理できます。 JSONを使用してこれを行う方法がわかりません。最後のオブジェクト「成功」にフィルターをかけ、それがtrueかfalseかを確認する必要があります。 HTMLで返されたデータを使用して、次のようにします。
submitHandler: function(form) {
$.ajax({
//other ajax stuff
success: function(data) {
var answer = $(data).find("td:eq(1)").text();
var message = $(data).find("td:eq(3)").text();
//console.log(data);
if (answer == "True") {
$('#messages').show().html(message);
} else {
$('#messages').show().html('Error logging in: ' + message);
}
}
});
return false;
}
この.ajax呼び出しを使用して、Webサービスに投稿し、返されたJSONを取得できます。
$.fn.serializeObject = function() {....}
submitHandler: function(form){
var wrapper = {};
var location = {};
wrapper.location = $("#newLocation").serializeObject();
$.ajax({
type: $(form).attr('method'),
url: '/web/service/' + 'locationService' + '/' + 'createLocation',
dataType: 'json',
async: false,
data: JSON.stringify(wrapper),
success: function(msg) {
console.log('success' + msg );
//need to traverse to success and if true, do something
},
error: function(msg) {
console.log('failure' + msg );
//need to traverse to success and if false, do something
}
});
return false;
}
「success」:「true」の場合、どのようにデータを表示しますか-私は自分でそれに取り組みますが、誰かが良い方法を持っているなら、私はいくつかのアドバイスをいただければ幸いです。どういうわけかテーブルに追加するだけだと思いますか?
JSONについて多くの質問がありますが、私が与えられた助けが他の誰かを助けることができるように、一般的な方法で質問をWordにしようとしています。この投稿の長さをお詫びします。助けていただければ幸いです。リクエストがあれば、この質問を短縮/編集します。
ここでのメッセージはjson形式のオブジェクトです。あなたはそのような成功の価値を得ることができます:
success: function(msg) {
console.log('success' + msg.success );
if(msg.success) { //could be wrote: msg.success === true
//do some stuff
}
},
"contactPhone": "8675309"
contactPhoneがキー、「8675309」が値です。ただし、サンプルでは、「contactPhone」値を取得するには、最初にロケーションオブジェクトを取得する必要があります。
var contactPhoneValue = msg.location.contactPhone;
JSON(JavaScript Object Notation)は、軽量のデータ交換フォーマットです。人間は読み書きが簡単です。マシンが解析して生成するのは簡単です。 http://www.json.org/
これで、jsonオブジェクトのプロパティを読み書きするためのコードは、通常のjavascriptオブジェクトの場合と非常によく似ています。
$ajax({
dataType:'json',
success:function(data){
console.log(data['success']); //returns for whatever will be the value for succes
//or
console.log(data.success); //returns for whatever will be the value for succes
data.location['contactName'] = "new name";
}
});
JavascriptとJsonオブジェクトへのアクセスと操作は同じです。
これは彼らにとって非常に良いガイドです:
http://www.dyn-web.com/tutorials/obj_lit.php
更新しました:
より良いバージョン、多分これは役立つかもしれません:
http://jsfiddle.net/hvzcg/4/