Javascript Ajax错误类型错误:数据未定义

Javascript Ajax错误类型错误:数据未定义,javascript,jquery,ajax,Javascript,Jquery,Ajax,这是我的ajax调用: jQuery.ajaxFileUpload({ url: App.CONTEXT_PATH + "/candidate/uploadPhoto", fileElementId: 'photoFile', dataType: 'json', success: function (result) { if (!result) { return; } var code = r

这是我的ajax调用:

jQuery.ajaxFileUpload({
    url: App.CONTEXT_PATH + "/candidate/uploadPhoto",
    fileElementId: 'photoFile',
    dataType: 'json',
    success: function (result) {
        if (!result) {
            return;
        }
        var code = result.code;
        if (code == 1) {
            var fileName = result.data;
            $("#imageFileName").val(fileName);
            $(".display_pic img").attr("src", App.UPLOAD_URL + "/" + fileName);
            alert("Image Path: " + App.UPLOAD_URL + "/" + fileName);
        }
    },
    error: function (jqXHR, textStatus, errorThrown) {
        alert(errorThrown);
    }
});
它弹出此错误:类型错误:数据未定义。我调查了Firebug的反应,发现正确的反应如下:

{"data":"f95eed76-0fdb-4b45-bbb8-dfae8b7f548awebapp.png","code":1}

出现此错误的原因可能是什么?

我真的不确定,但您可以尝试立即将结果信息存储到变量中,然后再进行处理

jQuery.ajaxFileUpload({
        url: App.CONTEXT_PATH + "/candidate/uploadPhoto",
        fileElementId: 'photoFile',
        dataType: 'json',
        success: function (result) {
            var temporary = result;
            if (!temporary) {
                return;
            }
            var code = temporary.code;
            if (code == 1) {
                var fileName = temporary.data;

我不确定这将如何引发
类型错误
,即使
数据
在对象中未定义,
未定义
只会出现在您的输入和警报中,而且,
数据
结果.数据
不相同,我确定如果
结果.数据
是错误的原因,然后控制台将按原样记录,而不是按数据记录。错误必须发生在代码中的其他地方。哪一行被指出是罪魁祸首?你试过了吗?@AlfonsoGarnett:data肯定不是指result.data,因为当我将属性更改为其他属性时,同样的错误也会发生。错误由错误块中的警报(errorshown)显示。@OğuzhanSoykan:您建议显式指定要发布的方法吗?不,如果不建议,我建议在返回语句中指定
JsonRequestBehavior.AllowGet
。顺便说一下,您可以检查您的操作,它应该是ActionResult,您返回的是
new JsonResult(){Data=[your object],jsonRequestBehavior.AllowGet}