0
私はasp.netのMVCでは初心者だし、ビューのページで、その目的は、このAjaxの機能を記述するために、コントローラからのAjax変数への単純なJSONを取得したい:
なぜコントローラから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コードとAJAX関数コール:
<button type="button" class="btn btn-success" onclick="CallService()">Success</button>
はなく、AJAX機能でこの行:?
alert("I think is ok!"+":"+OutPut);
出力が定義されていないが、何が起こるコントローラリターンnullであるか、私は未定義の警告を得る理由のおかげ?。
Ajaxは非同期であり、あなたのAJAX呼び出しが戻る前に、あなたの '警告が(..)'と呼ばれます値。表示したコードでは、出力がグローバルに宣言されているため、出力は "未定義"ではありません。 –