2017-08-24 14 views
0

私はその結果に基づいてAJAXコールを持っています - 別のコールを送ります。ネストされたjavascriptの約束

uploadDocument = function (doc1, doc2) { 
    $.ajax({ 
     type: "POST", 
     url: "/API/UploadDocs/addDocument", 
     data: doc1, 
     contentType: "application/json" 
    }).then(function (result) { 
     console.log(result); 
     doc2.id=result; 
     return $.ajax({ 
      type: "POST", 
      url: "/API/UploadDocs/addDocument", 
      data: doc2, 
      contentType: "application/json" 
     }).then(function (result) { 
     }); 
    }); 
} 

Illegal invocationエラーが発生していますが、何が間違っていますか?

+0

可能な重複それはない@smarber(https://stackoverflow.com/questions/10324594/jquery-illegal-invocation) – smarber

+1

を重複して、私はこの質問を見たが、私の問題に答えを見つけられなかった、ありがとう。 – user3378165

答えて

1

あなたは間違ってお約束しています!あなたが約束を返すときは、解決している約束を呼び出したthenを続ける必要があります。

チェーンセクション読む:[jQueryの - 不正な呼び出し]のhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then

uploadDocument = function (doc1, doc2) { 
    $.ajax({ 
     type: "POST", 
     url: "/API/UploadDocs/addDocument", 
     data: doc1, 
     contentType: "application/json" 
    }).then(function (result) { 
     console.log(result); 
     doc2.id=result; 
     return $.ajax({ 
      type: "POST", 
      url: "/API/UploadDocs/addDocument", 
      data: doc2, 
      contentType: "application/json" 
     }); 
    }).then(function (result) { 
     //Continue here 
    }); 
} 
1

不正な呼び出しエラーがAJAX

を通したデータで何らかのエラーがDOC1およびDOC2の種類を確認してくださいがある場合...また、AJAXにprocessData:falseを渡してみてください生じます。

+0

ありがとう、 'uploadDocument'関数を呼びましたが、間違ったパラメータを送ってくれました、ありがとう! – user3378165

+0

うれしい –

関連する問題