次の Jquery コードに問題があります。
function isAuthorised() {
$.post("Action/Controller")', function (data) {
return data;
});
}
MVC
コントローラーからの戻り値をテストしましたが、問題ありません。しかし、次のように承認を確認すると:
function onLoad() {
var result = isAuthorised();
alert(result); // undefined
if (!result)
// redirect
}
戻り値は未定義です。ここで同様の投稿を見て、これは の問題かもしれないと思いますencapsulation
が、違いは から取得した値を返す必要があることですJQuery.post()
。
編集:わかりました、コールバック内でリダイレクトを行いたくないので、.Ajax を使用して Async を false に設定して値を返そうとしています。私は今[Object object]
、以下のコードで戻っています。誰かが違いを説明できますか? async を false に設定し、値を返すのを手伝ってくれますか?
var request = $.ajax({
url: 'Action/Controller',
type: 'post',
async: false
});
var result = request.done(function (data) {
return data;
});
alert(result); // [Object object]