2016-04-30 75 views
0

我嘗試通過AJAX WagonAvaliableResponse發送對象的方法。當我測試這個得到錯誤類型錯誤:WagonAvaliableResponse不是一個函數如何通過jQuery與jQuery發送對象?

如何解決這一問題?

var WagonAvaliableResponse = { 
      UniqId:'', 
      checksum:'', 
      FromStation:0, 
      ToStation:0, 
      MainUniqId:0.0, 
      compartmentCapicityField:'', 
      isCompartmentField:'', 
      circularNumberSerialField:'', 
      countingAllField:'', 
      rateCodeField:0, 
      airConditioningField:false, 
      mediaField:false, 
      timeOfArrivalField:'', 
      rationCodeField:0, 
      soldcountingField:0, 
      ownerField: '' 
     }; 

$('#Continue').click(function(e) { 
      e.preventDefault; 
      var obj = new WagonAvaliableResponse(); 
      obj.Uniqid = $('#DepartureTrain article.show input[data=UniqId]').val(); 
      obj.mainuniqId = $('input[name=MainUniqId]').val(); 
      $.ajax({ 
       url: '/Train/CheckValidSelection', 
       data: obj, 
       type: "POST", 
       success: function (result) { 
        alert(result.Message); 
       }, 
       error: function() { 
        alert(result.Message); 
       } 
      }); 
     }); 
+2

刪除'var obj = new WagonAvaliableResponse();'。你已經聲明瞭這個對象,所以只需使用'WagonAvaliableResponse.Uniqid = ...'等等,然後在ajax函數中 - 'data:WagonAvaliableResponse,' –

+0

好的。這是對的。 – programmer138200

回答

0

你也可以把它用$.post代替$.ajax更清潔,更具有可讀性,見下文。

$('#Continue').click(function(e) { 
    e.preventDefault; 
    var obj = WagonAvaliableResponse; 
    obj.Uniqid = $('#DepartureTrain article.showinput[data=UniqId]').val(); 
    obj.mainuniqId = $('input[name=MainUniqId]').val(); 
    $.post('/Train/CheckValidSelection', obj) 
    .done(function() { 
     alert("Success"); 
    }) 
    .fail(function() { 
     alert("error"); 
    })