2017-06-06 12 views
0

我剛剛創建了一個Ajax方法。 如果我沒有傳遞任何數據到控制器,它會起作用。 如果我想傳遞一些數據到控制器。 只有打開IE degguer時纔有效。 我試圖將緩存選項添加到false。 但它不起作用。 下面是我的一些代碼:查詢帶參數的ajax只能在IE調試器打開時在IE中工作

function ReportIdLoad(reportId) { 
    $.ajax({ 
     type: 'POST', 
     cache: false, 
     url: 'WebReportGeneratorView.aspx/ReportIdLoad', 
     contentType: 'application/json', 
     data: JSON.stringify(reportId), 
     dataType: 'json' 
    }) 
} 

[WebMethod] 
public static void ReloadReportWorkbookContext(string reportId) 
{ 
    //My code 
} 

在此先感謝您的幫助。

+0

將它包裝在try/catch中並調用'alert(error)'。你得到什麼錯誤文本? –

+0

聽起來像種族效應。您可能期望異步傳遞的數據表現得像同步一樣。 –

+0

我沒有錯誤趕上了捕獲錯誤:( –

回答

0

@ Roamer-1888:

感謝您的追蹤。

事實上, 這聽起來像這個問題。

我添加選項:

async: false 

我得到我的破發點。

+0

Ludovic,證明了這一點,但沒有證明這一點,你應該真的省略'async:false',從'ReportIdLoad()'返回一個承諾,並且在所有調用的地方連接'ReportIdLoad(...),然後(...)' –

+0

你可能會喜歡閱讀[this](https://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call)。有很多需要登上,但它會一個很好的投資。 –

+0

我想我不需要那麼, 因爲我不期望回報從阿賈克斯查詢到來。 控制器做了處理,而不需要的東西回到阿賈克斯functi上。 不是? (這是我的全部評論對不起,輸入鍵盤錯誤) –