在jquery mobile中,post方法数据发送不正确
post method data is not sending correctly in jquery mobile
嗨,我想使用post方法向服务器发送数据,但不使用ajax。我发送的数据如下:
function handleLogin()
{
var form = $("#loginForm");
var u = $("#username", form).val();
var p = $("#password", form).val();
var d = $("#dob", form).val();
if(u != '' && p!= '')
{
var finalStr = u+encodeURIComponent("|^")+p+encodeURIComponent("|^")+encodeURIComponent("|^")+"X"+encodeURIComponent("|^")+d+encodeURIComponent("|^")+"1.0"+encodeURIComponent("|^|$");
var encodedURL = encodeURI(intranetUrl+"customer/Ri_logon5.asp?requestString=");
var parameters = decodeURIComponent(finalStr);
post_to_url(encodedURL,parameters);
}
else
{
alert("You must enter a username and password", function() {});
$("#submitButton").removeAttr("disabled");
}
}
我的post_to_url函数是:
function post_to_url(url, params) {
var form = document.createElement('form');
form.action = url;
form.method = 'POST';
for (var i in params)
{
if (params.hasOwnProperty(i))
{
var input = document.createElement('input');
input.type = 'hidden';
input.name = i;
input.value = params[i];
form.appendChild(input);
}
}
form.submit();
}
但当你传递错误的参数时,我从服务器得到的响应不是一个对象。但当我用ajax 10传递相同的参数时,它可以完美地工作。为什么会这样?
我的url格式是:http://myDomain/Ri_logon5.asp?requestString=
参数格式如下:manish |^info1234 |^|^X |^11111 985|^1.0 |^|$
如果我在rest客户端中输入url并传递参数,它就会给出正确的响应。
鉴于您希望使用POST而不是GET,您应该更改代码,使其不传递多个POST值。您想要的是只发布requestString。此外,您应该将url更改为:myDomain/Ri_logon5.asp
function post_to_url(url, params) {
var form = document.createElement('form');
form.action = url;
form.method = 'POST';
// Change this to fetch the arguments and build the string accordingly
var postString = 'manish|^info1234|^|^X|^11111985|^1.0|^|$';
var input = document.createElement('input');
input.type = 'hidden';
input.name = 'requestString';
input.value = postString
form.appendChild(input);
form.submit();
}
我在ajax中使用了以下mwethod,它运行良好:
$.ajax({
type: "POST",
contentType:"application/x-www-form-urlencoded; charset=UTF-8",
url: clientDetailURL,
data: finalclientDetailParam
}).done(function( msg1 )
{
var clientDetailResponse = msg1;
console.log("Client detail response is:"+clientDetailResponse);
});
这里的clientDetailURL是:http://myDomain/Ri_logon5.asp?requestString=和finalClientDetailParam分别为:manish |^info1234 |^|^X |^11111 985|^1.0 |^|$
对于这个ajax,它可以很好地工作,但对于没有ajax的POST方法则不一样。这完全令人困惑。
相关文章:
- PHP生成的表列数据不在正确的位置
- Angular promise从JSON API返回不正确的数据
- 在jquery mobile中,post方法数据发送不正确
- D3:“SVG4601:SVG 路径数据的格式不正确,无法完全解析
- 为什么它说输入数据数组的格式不正确 jqchart.
- NodeJS > req.query 返回不正确的数据
- Amchart 和 Ajax 获取格式不正确的数据
- HTML5 画布图像数据不正确的 rgb 值
- 煎茶触摸 2 模型关联保存不正确的数据进行存储
- 这个jQuery AJAX帖子保存数据不正确吗?
- 回显的数据不在正确的行中
- 从 MySQL 数据库获取数据时节点.js流不正确
- 选择的数据不正确
- 画布图绘制数据不正确
- JSON数据格式不正确
- jQuery数据表排序不正确
- 日期在Highcharts图中显示不正确,时间数据不规则
- AWS Dynamo表对某些记录写入数据不正确
- 在Handsontable中移动列后编辑单元格时,数据不正确
- 使用 AJAX 加载数据不正确