如何在POST文件数据时获取JSON响应

时间:2013-06-28 15:10:21

标签: jquery asp.net ajax web-services post

我通过AJAX和ASP.Net网络服务发布文件数据(图像文件)。我需要得到像这样的JSON响应:({"d":"null"}),但我得到XML响应,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">null</string>

我在发送响应之前使用WebService中的JavaScriptSerializer将响应转换为JSON,但它没有转换。

return js.Serialize(result);

我还在Web方法的顶部添加了以下代码。

[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 

以下是使用AJAX发送文件数据的代码

if (bannerImage) {
    //var file = document.getElementById('bannerImage').files[0];
    var file = this.files[0];
    var formData = new FormData();
    formData.append(file.name, file);

    $.ajax({
        type: "POST",
        data: formData,
        url: url,
        processData: false,  // tell jQuery not to process the data
        contentType: false,   // tell jQuery not to set contentType
        dataType: "JSON",
        success: onUpdateUserPhotoSuccess
    });
}

0 个答案:

没有答案