所以我有一个网站,我想点击一个按钮,检查用户是否具有某些权限,如果有,则弹出一个窗口到新的网页。在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检查并返回一个bool。函数调用很好,但是当它返回bool时,我得到一个javascript错误“Expected']'”。我认为这与我的成功函数有关:
function (data) {
var permission = eval('(' + data + ')');
if (permission == true) {
alert('yay');
}
else {
alert('nay');
}
}
看到我在尝试我正在做的事情之前没有得到这个错误,所以我想知道如何从ajax调用中获取数据以通过permission == true
if {/否则检查
答案 0 :(得分:0)
请勿将eval用于此目的。这是不安全的,也是许多错误的根源。只需让服务器使用JSON进行响应并使用$ .getJSON。