【发布时间】:2013-04-02 20:59:28
【问题描述】:
所以我有一个网站,我想点击一个按钮,检查用户是否具有某些权限,如果有,则弹出一个窗口到新网页。在 java 脚本上我有这样的东西:
function sendAjax(methodName, dataArray, success, error, category) {
var error2 = error || function () { };
$.ajax({
type: 'POST',
url: '/PermissionChecker' + methodName,
data: JSON.stringify(dataArray),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (r, s, x) { if (!success || success(r, s, x) != false) if (typeof (window.ChangeLogAdd) == 'function') { ChangeLogAdd(category); } },
error: error2
});
}
function CheckPermissions() {
sendAjax("CheckPermission", null, function (data) { var permission = eval('(' + data + ')'); if (permission == true) { alert('yay'); } else { alert('nay'); } }, null, 'Check Permission');
}
C# 端是一个简单的函数,它执行 if 检查并返回一个布尔值。函数调用正常,但是当它返回布尔值时,我得到一个javascript错误“预期']'”。我认为这与我的成功功能有关:
function (data) {
var permission = eval('(' + data + ')');
if (permission == true) {
alert('yay');
}
else {
alert('nay');
}
}
看到我在尝试我在那里做的事情之前没有收到这个错误,所以我想知道如何从 ajax 调用中获取数据以通过permission == true if/else 检查
【问题讨论】:
-
这可能与您期望 JSON 并接收布尔值有关。
-
把你的函数分成多行。当一切都如此紧凑时,很难为您提供帮助。以这种方式格式化您的代码,您一无所获,反而使代码难以阅读。如果函数只包含一行,我通常只有一行函数。
-
很抱歉,我已经用我的成功函数的不太紧凑的版本编辑了我的问题
标签: javascript c# ajax