2017-08-02 4 views
4
$.ajax({ 
    type: 'POST', 
    url: '@Url.Action("SetDisplaySettings", "DisplaySettings")', 
    data:$('#Form1').serialize(), 
    success: function (result) { 
     $('#chkIsSystemDefault').prop('checked', false); 
     if(result=="2"){ 
      showAlertBox("Display Settings updated."); 
     } 
    } 
}); 

もう1つのパラメータCountryIdを渡す必要があります。これどうやってするの?ajaxでもう1つパラメータを渡すには?

data:$('#Form1').serialize()+ '&CountryId=' + CountryId, 

それとも - :

$.ajax({ 
     type: 'POST', 
     url: '@Url.Action("SetDisplaySettings", "DisplaySettings")', 
     data:{ 
      form : $('#Form1').serialize(), 
      other : ... 
     }, 
     success: function (result) { 
      $('#chkIsSystemDefault').prop('checked', false); 
      if(result=="2") 
      { 
       showAlertBox("Display Settings updated."); 
      } 
     } 
    }); 
+0

多分 'データのようなもの:{データ:$( '#、Form1を')(シリアライズ)、countryId:CountryIdを}、' –

答えて

4

は、あなたの現在のコードで以下のようにそれを実行してください(シリアル化形式自体にデータを追加します):

+0

ありがとう嬉しい –

+0

@DevTryをダイに@Aliveあなたを助けるためにバディ:) :) –

2

あなたはそうのようなあなたのデータとしてobjectを渡すことができます使用できるserializeArray[docs]

var data = $('#myForm').serializeArray(); 
data.push({name: 'CountryId', value: CountryId}); 
0

ここではどのようにしてあなたができる、サーバー側で

var paramsToSend = {}; 
paramsToSend['form'] = $('#myForm').serializeArray(); 
paramsToSend['CountryId'] = CountryId; 

$.ajax({ 
    ... 
    data: {params:JSON.stringify(paramsToSend)}, 
    ... 
}); 

、PHPことがあります:AJAX要求で複数のパラメータを渡す

$parameters = json_decode($_POST['params']); 

配列に変換し、することができます、$ _POSTにその配列を持っているために:FormData on MDN

$_POST = (array) $parameters; 
0

代わり$(...).serialize()のあなたはFormDataオブジェクトを使用することができます。 そのような何か:

var data = new FormData(document.getElementById("#myForm")); 
data.append("CountryId", countryIdValue); 
//... in AJAX block: 
data: data, 
//... 
関連する問題