在我的asp.net 4.0電子商務web應用程序中,登錄的客戶可以點擊錨點,如「過去6個月內的訂單」或「訂單去年「來查看他過去的訂單。當點擊這樣的錨,我做一個$就打到我ASMX Web服務方法來檢索過去的訂單列表並顯示出來,象下面這樣:jQuery ajax調用web服務(asmx)觸發認證彈出框
$.ajax({
type: "POST",
url: "/webservices/OrderServices.asmx/GetOrderList",
data: theParamter,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data){
displayOrders(data);
},
error: function(errMsg) {
alert(errMsg);
}
});
在C#中的Web服務的方法很簡單,只是一種網絡方法來獲取指定過去持續時間的訂單清單。
theParameter是在ajax調用之前獲得的,它只是一個參數,指示客戶是否想要查看過去6個月或過去一年的訂單。
使用IIS Express在我的開發環境中一切正常。但在製作時,當用戶點擊任一錨時,瀏覽器會彈出一個小小的diablog框,要求用戶輸入用戶名和密碼。
這是什麼造成的? Web服務(asmx)不知道請求是從經過身份驗證的客戶發送的?如何防止瀏覽器顯示身份驗證彈出窗口?謝謝!
感謝。我會看看這兩個環節。一個問題是,我沒有在開發環境中使用https,但在生產中,我們使用https。這會有所作爲嗎?謝謝。 – Stack0verflow
沒有https綁定沒有區別。 – Dalorzo
謝謝。我懷疑他們會在生產上啓用匿名身份驗證。如果啓用匿名身份驗證不是一個可接受的解決方案,是否意味着我必須放棄ajax調用? – Stack0verflow