contentType: "text/html; charset=utf-8",
url:"secret.aspx?plu="+$("#Text1").val()+"&gh="+$("#TextBox1").val()+"&sid="+$("#TextBox2").val(),
processData: false,
dataType: "html",
success: function(data)
上述语法是否正确发送数据 收到以下代码
string sid=Request.QueryString["sid"];
string id = Request.QueryString["plu"];
int ide =Convert.ToInt32(Request.QueryString["gh"]);
Response.write(sid);
Response.end();
还是有其他方法可以实现相同的
答案 0 :(得分:1)
该请求的唯一问题是,如果输入值中有任何特殊字符,它将会中断。
解决方法是传递数据对象:
type:"GET",
url:"secret.aspx",
data: {
plu : $("#Text1").val(),
gh : $("#TextBox1").val(),
sid : $("#TextBox2").val()
},
dataType: "html",
这会对特殊字符进行编码,以避免破坏键/值格式。或者,您可以将它们保留在url
中,但将其分别包含在encodeURIComponent()
中,这会产生相同的效果。
答案 1 :(得分:0)
您需要将表单数据序列化为ajax方法的“data”选项。另外,如果要使用查询字符串,请将请求类型指定为GET。
type: 'GET'
contentType: "text/html; charset=utf-8",
url:'secret.aspx',
processData: false,
dataType: "html",
data: $('#myForm').serialize(),