2012-09-22 25 views
-1

這個職位礦 passing id to ajax call實現成功處理程序有多個參數

的還有一些我想了解更多的繼續。

我的問題是這樣的

我有2頁(default.cshtml + click.cshtml) 在default.cshtml,我有一個js代碼與它的ID一些圖像來初始化一個div區域。當我按照我以前的文章中提到的方式單擊鏈接時,我需要更改此區域中的圖像,因爲新圖像是從數據庫加載的。每張圖片都與一個指定的ID相關聯;現在,我不知道如何或在哪裏我應該把這個initialize腳本,因爲它被兩個默認值,單擊

function init(id) 
{ 
    //...initialize options 
    var id=document.GetElementByID("displayimg"); 
    //...display image 
} 

頁我如何能實現在具有2個或多個參數Java腳本成功處理?

$(document).ready(function() 
{ 
    $('.viewp').click(function() 
    { 
     var responseUrl="~/click?id="+id;      
     $.ajax(
     { 
      type: "GET", 
      data:id, 
      url:responseUrl, 
      success:function(data1, data2) 
      { 

      } 
     }); 
    }); 
}); 

因爲click.cshtml將查詢2多個數據值的數據庫表來重新顯示圖像,這是它的新的寬度和高度:-D

+1

只需創建一個DTO或以JSON格式返回一個匿名類型包裝所有要返回到AJAX調用的屬性 – Jupaol

+0

查看文檔:http://api.jquery.com/jQuery.ajax/ 「成功」部分解釋了預期的功能參數。 'data'參數將包含所有的數據。如果您有多個值,則將它們包裝到一個要返回的對象中。無論您返回多少數據,它只能通過'data'參數作爲單個對象返回。 – Nope

回答

3

成功函數必須是以下形式: function (data, textStatus, jqXHR)。這意味着,無論服務器輸出是在數據中。你將不得不解析data.responseText來獲取你的data1和data2。

1

將高度和寬度放入數組中併發送給ajax。

在C#代碼

int[] val = { 10, 20 }; 

和JS阿賈克斯成功函數

success: function(value) { 
// process value[0] which is height or width.... value[1] etc. 
3

我從JSON服務器響應,所以像:

{ 
    height: 20, 
    width: 20 
} 

然後在你的阿賈克斯電話,你可以做

$.ajax({ 
    url: url, 
    dataType: "json", 
    success: function(dimensions) { 
     // Do something with dimensions.width and dimensions.height 
    } 
});