我正在使用Fiddler來調試我的MVC應用程序並查看所有HTTP請求。使用Fiddler在ASP.NET MVC中調試AJAX
的應用程序在http://localhost:51234/mvc
正如任何人誰曾試圖使用Fiddler託管在localhost網站知道有運行是一個問題 - 窗口將通過代理不轉發本地主機的流量,如果你直接打這個鏈接。你可以在several ways中解決這個問題,比如我最喜歡的使用URL http://ipv4.fiddler:51234/aboutus/contact
的方式。這很好。
的問題是,我開始使用AJAX做:
<% using (Html.BeginForm()) { %>
如果您查看源產生它實際上已經產生這樣的:
<form action="http://localhost:51234/aboutus/contact" method="post" onsubmit="Sys.Mvc.AsyncForm.handleSubmit(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, onFailure: Function.createDelegate(this, submitComments_failure), onSuccess: Function.createDelegate(this, submitComments_success) });">
糟糕!
它生成localhost
而不是ipv4.fiddler:51234
。所以當然,當我運行AJAX查詢Fiddler沒有看到它。
理論上使用機器名應該工作,但是如果你嘗試打直接在機器名WebDev.WebServer不會響應http://win-538lf:51234/aboutus/contact
[提琴手]連接到 雙贏538lf失敗。異常 文本:無連接可以作出 因爲目標機器積極 拒絕它 FE80 :: 81fc:8f0f:457A:27df%12:51234
對此有一個解決方法嗎?
是否可以配置WebDev.WebServer來響應機器名稱?或者我將不得不創建一個虛擬目錄或fake host?我不想這樣做,但我想這不是什麼大不了的事。
我想你需要調試IE嗎?你有沒有在Firefox中試過Firebug的網絡標籤? – splattne 2009-01-28 07:48:37
@splattne - 實際上我現在在Chrome中工作。試圖決定哪個非ie瀏覽器給我最好的調試體驗。鉻只是失去了一個點因爲它完全崩潰(所有制表符!)當我試圖調試 – 2009-01-28 10:10:08