post请求是怎么给send()里面传值,手册上没有找到,
陈烁临
- 发布:2014-09-04 17:33
- 更新:2017-11-24 12:09
- 阅读:14123
send方法定义如下:
void send( body );
其中body参数就是要发送到服务器的数据,类型为String,示例如下:
var xhr=new plus.net.XMLHttpRequest();
xhr.onreadystatechange=function(){
console.log('onreadystatechange: '+xhr.readyState);
};
xhr.open( ‘POST’, ‘http://demo.dcloud.net.cn/test/xhr/’ );
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send('user=HBuilder&test=value');
其中body参数可以是任何格式,只要服务器能支持即可,通常为了方便服务器处理,使用key=value格式来提交数据,多个值使用&符号分割。
var xhr=new plus.net.XMLHttpRequest();
xhr.onreadystatechange=function(){
console.log('onreadystatechange: ' xhr.readyState);
};
xhr.open( 'POST','http://localhost/admin/resources/connector');
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.setRequestHeader('Accept','application/xml');
xhr.send(JSON.stringify(postdata));
日志如下,这样算成功了吗?
[LOG] : onreadystatechange: 1
[LOG] : onreadystatechange: 2
[LOG] : onreadystatechange: 4
现在碰到一个棘手的问题,当我把ajax post 提交直接写在页面刷新时就触发是可以的,而当我用button onclick或者switch toggle触发时却碰到了status 0 的问题,求大侠帮忙!
下面是demo,我在小米4上可以用onclik触发,而我用三星s4(android 4.4.2)和iphone6(ios8.0.3)还是老样子,哎被这个问题折腾死了。
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title></title>
<script src="js/mui.min.js"></script>
<link href="css/mui.min.css" rel="stylesheet" />
</head>
<body>
<!--如果在这里触发就出status:0的问题-->
<h3 class="text-left" onclick="AiLink()"><span class="mui-btn mui-btn-success">
绿色
</span></h3>
</body>
<script>
mui.init({
swipeBack: false
});
//AiLink();如果这里放开,页面刷新的时候就执行了。。。
function AiLink() {
postdata = "<sensor>\r\n"+
" <name>TestSensor</name>\r\n"+
" <attribute>\r\n"+
" <name>TestSwitch</name>\r\n"+
" <moment>\r\n"+
" <timestamp1>2015-05-09 00:25:56.036</timestamp1>\r\n"+
" <value>true</value>\r\n"+
" </moment>\r\n"+
" </attribute>\r\n"+
"</sensor>";
mui.ajax({
type: "post",
url: "http://api.ailink.com/cs-ws/resources/connector/?apikey=1234&device_name=TestDevice",
data: postdata,
contentType: "application/xml",
success: function(result) {
result = JSON.stringify(result);
alert(result);
},
error: function(xhr, type, errorThrown) {
//异常处理;
console.log(JSON.stringify(xhr));
}
});
}
</script>
海带
2014年问的问题 ,我现在也遇到了,调试发现 服务端确实获取不到值
2018-03-24 20:55