2017-05-15 10 views
0

成功した場合、dropzoneのjavascriptに値を返そうとしています。私はリターンJsonのアクションを使用し、別のビューに指示するURLを構築しようとしています。私の質問は、どのように戻って、JavaScript関数に値を返し、値を取得するのですか?javascriptに値を返そうとしたときにエラーが発生する

値を見つけようとすると、このようなエラーが表示されます。

Uncaught SyntaxError: Unexpected token u in JSON at position 0 
at JSON.parse (<anonymous>) 
at u.<anonymous> (Upload:44) 
at u.n.emit (dropzone:1) 
at dropzone:1 

私のコードは次のようである:

     myDropzone.on("queuecomplete", 
          function(data) { 
           this.removeAllFiles(); 

           var res = JSON.parse(data); 

           var url = "@Url.Action("OrderConfirmation","Upload", new 
             { 

              OrderNumber = "45678" 
             })"; 


           window.location.replace(url); 

          }); 

これは私の行動のリターンライン

return Json(new {OrderNumber = orderNumber, JsonRequestBehavior.AllowGet }); 

答えて

1

AllowGetが返されたオブジェクトの一部であってはならない、それが二番目のパラメータですJson()

return Json(new { OrderNumber = orderNumber }, JsonRequestBehavior.AllowGet); 

編集:ドロップゾーンについてあまり知らないが、私はdataがすでにオブジェクトそうJSON.parse()不要であるかもしれないです疑います。いずれにしても、data.OrderNumberまたはres.OrderNumberが注文番号になります。

javascriptにヒットする前にサーバ側を実行するため、@Url.Actionをjavascriptで使用することはできません。あなたは

var url = '/Upload/OrderConfirmation/' + data.OrderNumber; 

ような何かをする必要があるか、あなたは本当に本当の注文番号内で「XXXXX」を置き換え

var url = '@Url.Action("OrderConfirmation", "Upload", new { OrderNumber = XXXXX}"'; 

、その後、ダミーのクエリ文字列パラメータに入れて、あなたのために構築されたURLを、必要な場合はurl文字列。

+0

ありがとうございます。質問の他の部分は、どのように私はJavaScriptでその値を読むのですか? – jeffkenn

+0

ありがとうございます。私はそれを得たと信じています。男、私はjavascriptで良くなる必要があります。そのためのサポートグループはありますか? lol – jeffkenn

+0

上記のコードを試したときに新しいエラーが発生しました。私はデータが未定義であることを知る。どんな考え? – jeffkenn

関連する問題