먼저 코드 스 니펫을 여기에 입력 해 보겠습니다. Visual Studio에서 제공하는 ASP.NET MVC 프로젝트를 사용하고 있습니다. 그래서 난 그냥 여기에 추가 한 조각을 걸었습니다 :
Site.master의 머리 부분 : test.js의
<head runat="server">
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/test.js" type="text/javascript"></script>
<script type="text/javascript">$(document).ready(ready);</script>
</head>
내용 : HomeController에서
function ready(){
$.get("/Home/TestAjax", ajaxResponse);
}
function ajaxResponse(data){
alert("got response from server: " + data);
}
방법 :
public String TestAjax()
{
if (Request.IsAjaxRequest())
{
return "Got ajax request!";
}
else
{
return "Non-ajax request";
}
}
Firefox 3.5.30729 (Firebug)에서 볼 수있는 문제는 ajax 요청이 나가면 IIS 7 e 원격 상자는 HTTP 302를 다시 보내고, 리디렉션을 수행하고 다른 요청을 강제 실행하지만 비동기는 아닙니다. 오페라도 작동하지 않으므로 같은 문제라고 생각합니다. 그러나 위의 코드는 Internet Explorer 8, Chrome 및 Safari에서 정상적으로 작동합니다.
localhost에서 위의 모든 브라우저는 Firefox와 Opera를 포함하여 예상대로 작동합니다. 모두 "아약스 요청을 받았습니다!" 서버에서 응답으로.
아무도 여기에 무슨 일이 일어나고 있고 어떻게 해결할 수 있는지 아이디어가 있습니까? 나는 무슨 일이 일어나고 있고 왜 있는지에 관해서는 진짜 해결책이나 최소한의 설명을 찾고있다.
Fiddler/Wireshark를 사용하여 요청/응답에 대한 더 나은 가시성을 얻으려고 했습니까? – Pierreten
@ 피에르 텐 (Pierreten) : 우리가 말한대로 나는 그것을 어지럽히고 있습니다. 새로운 발견 사항이 있으면 여기에 게시하겠습니다. – codelove