您的位置:首页 > Web前端 > JQuery

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

2013-02-08 15:37 232 查看
通过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多的文章才搞定。虽是原创,但是综合了,参考了,写在这里只是为了记录一下而已,让自己更慢的忘记。

明天就过年了,公司没有放假,却允许回家了,这样很好,还低调.......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: