Ajax将字符串发布到FormData类型的服务器

时间:2014-06-23 07:14:22

标签: c# asp.net ajax httphandler

我想发送FormData类型的任何字符串。 但我的代码中有一些错误。我无法找到它是什么。

下面的代码是我的.aspx代码

<script type="text/javascript"> 
        function mscert() { 
            var certname = $("#txtname").val(); 
            var formData = new FormData(); 
            formData.append("Name", certname);                        

            var post= $.ajax(
        {
            type: "POST",
            url: "MyHandler.ashx",
            contentType: false,
            processData: false, 
            data: formData, 
            cache: false
        });
            pos.done(function (data, teStatus, jqXHR) {
                alert(data);
                alert("ok");
            });
            pos.fail(function () {
                alert("error");
            });
        }                 
</script>

以下代码为MyHandler.ashx

public class MyHandler: IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        HttpPostedFile ht2 = context.Request.Files["Name"];
.
.

我使用断点进行检查,ht2始终为null

有人可以帮忙吗?

请注意,当我发送图像而不是字符串时,一切正常。这时我可以在服务器端获取Image。

1 个答案:

答案 0 :(得分:0)

您必须以JSON格式传递数据,如

function CallHandler() {
$.ajax({
url: "Handler/MyHandler.ashx",
contentType: "application/json; charset=utf-8",
data: { 'Id': '10000', 'Type': 'Employee' },
success: OnComplete,
error: OnFail
});
return false;
}