2017-10-31 19 views
0

私は、成功ハンドラのデータでメインオブジェクトを更新したいと思います。次のajaxコールが行われている間、私は更新されたオブジェクトでポストします。AjaxコールPOSTメソッド、成功ハンドラのデータでオブジェクトを更新

var getValue = function() { 
    var mainObject = { 
    "name": "Tom", 
    "age": 26 
    } 
    return mainObject; 
} 

var setValue = { 
    "detailsMethod": { 
    var sendObject = getValue(); 
    $.ajax({ 
     url: 'https://....', 
     data: sendObject 
    }) 
    .success(function(data) { 
     var location = data.name 
     var sendValue = getValue(); 
     sendValue.location = location; // when the next Ajax call is being made add location value to mainObject 
    }) 
    .error(function() { 
     //Error 
    }) 
    } 
} 

setValue.detailsMethod(); 
+1

このコードには間違ったことがたくさんあります。そのコードはAjax呼び出しを行っていないため、エラーが発生しています。あなたは有効ではないオブジェクトを持っていて、そのオブジェクトは関数のように扱います。オブジェクトを定義して実行すると、オブジェクトが返され、そこにlocationプロパティが設定されますが、それは何もしません。 – epascarello

+0

成功からmainObjectに値を追加する方法とupdatedObject..during次のajaxコールを投稿する – john

+0

getValue()を呼び出すたびに、別のオブジェクトを作成して返します。 – Barmar

答えて

0

このバージョンは実際には動作するはずですが、これがあなたの望むものかどうかはわかりません。負荷の

var mainObject = { 
 
    "name": "Tom", 
 
    "age": 26 
 
}; 
 

 
function updateValue() { 
 
    $.ajax({ 
 
     url: 'https://....', 
 
     data: mainObject 
 
    }) 
 
    .success(function(data) { 
 
     mainObject.name = data.name; 
 
    }) 
 
    .error(function() { 
 
     //Error 
 
    }) 
 
} 
 

 
window.onload = updateValue;

、updateValueが呼​​び出されるとAjaxリクエストが行われます。応答が到着すると、mainObjectは応答データで更新されます。

関連する問題