终于搞定了jquery的ajax提交数据

通过Jquery的ajax方式来提交相应的数据,原以为是个很简单的方式,却不想折腾了好久

这个东西我不知道是不是 jquery 的一个bug 搞了N久哦

function MyService(id1, param) {
    var _json = jQuery.param({ "code": "blank", "id": "20130209" });
    var request = $.ajax({
        url: "../ashx/blankService.ashx",
        type: "POST",
        async: false,
        data: _json, //不能直接写成 {id:"123",code:"tomcat"}
        dataType: "json",
        // contentType: "charset=utf-8",
        cache: false,
        success: function (r, textStatus) {
            alert(r.id + r.datetime);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.readyState); }
    });

    alert(request.responseText);
}

 

ashx

 public void ProcessRequest(HttpContext context)
        {
             context.Response.ContentType = "text/json;";

             string id = context.Request["id"];

            string temp =  "\"datetime\":\"" + DateTime.Now.ToString("G") + "\"";

            if (!string.IsNullOrEmpty(id))
            {
                temp += ",\"id\":\"" + id + "\"";
            }

            context.Response.Write("{" + temp + "}");
        }
   //......
}



其实代码很简单,问题就是得不到想要的结果

首先这个一定不能要 contentType: "application/json;charset=utf-8" 网上有资料说需要这个,要了结果就是出不来,可能是我断章取义了,只看一部分,就下结论,着急回家过年了,有点晕吧........

 其次了,data: strjson,这个不能把 { "name": "china", "id": "20130209"} 直接写在data后面,需要jQuery.param 一下,但是$.post(....)是不要的,什么感觉?是不是蛋痛了........

 还有一点 jsons数据不能单引号,只能是双引号。蛋痛也没用,必须的,所谓的规范。

这些个了内容,都是从网上找了N多的文章才搞定。虽是原创,但是综合了,参考了,写在这里只是为了记录一下而已,让自己更慢的忘记。

明天就过年了,公司没有放假,却允许回家了,这样很好,还低调....... 

 

你可能感兴趣的:(技术)