从ajax查询中检索数据

时间:2013-04-02 20:59:28

标签: javascript c# ajax

所以我有一个网站,我想点击一个按钮,检查用户是否具有某些权限,如果有,则弹出一个窗口到新的网页。在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 {/否则检查

1 个答案:

答案 0 :(得分:0)

请勿将eval用于此目的。这是不安全的,也是许多错误的根源。只需让服务器使用JSON进行响应并使用$ .getJSON。