2017-03-10 4 views
-1

私はMVCコントローラにいくつかのデータを含むajax投稿を作成するjQueryスクリプトを持っています。ajax/jsonに単一のintを返す

コントローラの動作はいくつかの動作を行い、1つのint(合計)で終了します。私は成功のセクションでajax呼び出しにその単一の値を返すことができるようにしたいと考えています...

問題は私は正しいとは知らないreturn x mvcコントローラで使用する方法jQueryでアクセスします。あなたはJavaScriptオブジェクトの文字列バージョンをしたい場合は、私はすべてを試してみました

の方法は次のように行い、オブジェクトに{ Total : 123 }

+0

私はあなたがここで何を求めているのかは分かりません。あなたは、 "intを返すためのいくつかのパラメータを持つコントローラアクション"を打っていると言います。 - コントローラが整数を返し、あなたはその値にアクセスしようとしていますか?または、整数をコントローラに渡そうとしていますか?そして、あなたは '{json}'が作成してオブジェクトを作っていると言っていますが、単に 'json'という値を欲しがっているのですが、 ...?また、ここでどのフレームワークを使用しているか、つまりここで 'Json'関数は何ですか? – apsillers

+0

なぜそれをオブジェクトに変換するのがintとして必要なのか?なぜリターン合計を使用していないのですか? ? –

+1

あなたのajax 'success(data)'では、 'var total = data.total'を実行するか、' Content(total) 'を返すことができます。 –

答えて

0

を返します。関連する配列や配列と連動します。私は前者をお勧めします。あなたが後でこのテキストを読むと、それはとても扱いやすくなります。

これはJavaScriptのみを使用しています(ここではjQueryを入れる必要はありません)。 MVCコントローラで

<script> 

associatedArray = { 
    "scrore":55 
}; 

array = [55]; 

console.log(JSON.stringify(associatedArray)); 

console.log(JSON.stringify(array)); 

</script> 
1

、あなたはそのままで例えば、正確に指定した内容を返すリターンプレーン「コンテンツ」を返すことができます。

var total = 123; 
return Content(total); 

あなたの呼び出し元のコードは、単純に「123」を取得します。 、あなたはまた、あなたはJSONオブジェクトとして返すことができ、このように

success: function(data) { var total = data; } 

としてアクセスすることができます$.ajaxコールで

、プロパティを通じて例えば

return Json(new { Total: total }); 

とアクセスという。

success: function(data) { var total = data.Total; } 

大文字と小文字が区別されることに注意してください(Total:data.Totalと一致します)

関連する問題