2017-08-16 8 views
1

jquery ajaxを1回のビューで2回使用しました。 最初はうまく動作しますが、2番目のパラメータは入力パラメータとして0の値を対応するアクションに送信しますが、理由はわかりません。どのようにasp.net mvcコアでajaxを使用できますか?

<tr> 
    <th>(@((int)ViewBag.BoonCount))</th> 
     <td class="text-right"> 
      <input onchange="SetBoon()" class="form-control" type="number" name="Boon" id="MBoon" min="0" max="@((int)ViewBag.BoonCount)" value="" /> 
       <script> 
       function SetBoon() { 
        var BoonVal = $('#MBoon').val(); 

        $.ajax({ 
          url: '/Users/SetBoon', 
          method: 'post', 
          contentType: 'json', 
          data: { fID: '@Factor.ID', BValue: BoonVal } 
          }); 

        } 
      </script> 
      </td> 

、それは私の行動のコードです:

public string SetBoon(int fID, int BValue){} 

アクションがparameter.IもSetBoon機能に入る前に、@のFactor.IDをテストしていた入力としてゼロを受け取ります有効な値。

+0

を使用しますが、文字列ではなくintとしてfactorIDを送っている$アヤックス – Adrian

+0

のContentTypeを削除すると、それを試してみてください。一重引用符を削除します。つまり、 'data:{fID:@Factor.ID、BValue:BoonVal} 'です。 – ADyson

+0

@ADyson私はあなたの指摘をしましたが、まだゼロを返します。 –

答えて

1

アクションから返された量のcontentTypeを別のエラーで見つかったビューに削除すると、ajaxのcontentTypeをdataTypeで置き換える必要があります。

0

jsonはcontentTypeではありません。レスポンスのデータ型です。あなたが要求データの種類を指定したい場合は、

contentType: 'application/json' 
関連する問題