0
我在asp.net mvc的初學者,想從控制器簡單的JSON取阿賈克斯變量,在視圖頁面爲此寫AJAX功能:
爲什麼我無法從控制器從ajax函數中獲取數據?
<script>
var OutPut;
OutPut = "behzad";
function CallService() {
$.ajax({
url: '@Url.Action("callService", "myPassword")',
type: 'GET',
dataType: 'json',
cache: false,
data: { 'id': 2 },
success: function (color) {
OutPut= color;
},
error: function() {
alert('Error occured');
}
});
alert("I think is ok!"+":"+OutPut);
}
</script>
與此控制器:
[HttpGet]
public JsonResult callService(int id)
{
string JSON = "behzad";
return Json(JSON,JsonRequestBehavior.AllowGet);
}
阿賈克斯函數調用鑑於此頁面的html代碼:
<button type="button" class="btn btn-success" onclick="CallService()">Success</button>
但此行中的AJAX功能:
alert("I think is ok!"+":"+OutPut);
輸出是不確定的,發生什麼事是控制器返回null或爲什麼我得到了一個未定義的警報感謝?。
AJAX異步是和你的'警報(..)'將你的Ajax調用返回之前調用值。在你顯示的代碼中,輸出將是「behzad」(不是未定義的),因爲你已經在全局聲明瞭它。 –