1
以下JQuery請求在IE中正常工作,但在FF和Chrome中不起作用。
我正在從其文件位置運行以下頁面,例如file:/// C:/Test/json.htm並請求在本地主機上運行的頁面。
這是什麼原因?
我如何才能使它適用於FF和Chrome?
<body>
<input type="button" value="Search" id="search-button" />
<script language="javascript" type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(函數(){
$('#search-button').click(function() {
var parms = {
id: 27
};
$.ajax({
type: 'POST',
url: 'http://localhost:51621/Test/GetJSONMessage/',
async: false,
data: parms,
dataType: 'json',
success: function(data, testStatus) {
alert(data.message);
}
});
});
});
</script>
</body>
凡GetJSONMessage由一個ASP.Net MVC JSonResult提供:
[HttpPost]
public JsonResult GetJSONMessage(int id)
{
return Json(new { message = ("hello world " + id.ToString()) });
}
@patrick - 好吧,它是一個跨域問題 - 那麼我該如何處理?其他網站如何提供/使用來自其他域的json數據? – 2010-09-05 22:40:35
@Nicholas - 如果在您的實際網站中,請求將被提交給同一個域名,這不是問題。否則,您可以嘗試將數據類型設置爲'jsonp',這是允許跨域json請求的一種方式。但是,不完全確定需要使用'jsonp'進行哪些調整。 – user113716 2010-09-05 22:46:46
@patrick - 會改變請求和JsonResult GET來解決這個問題,是更好的做法? – 2010-09-05 23:06:33