真二
真二
  • 发布:2014-09-25 15:52
  • 更新:2014-11-19 10:53
  • 阅读:3649

XMLHttpRequest POST后台方法不执行问题

分类:HTML5+

var xhr=new plus.net.XMLHttpRequest();
xhr.onreadystatechange=function(){
console.log('onreadystatechange: '+xhr.readyState);
};
xhr.open( ‘POST’, URL);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send('user=HBuilder&test=value');

用此代码采用POST传值,在onreadystatechange里能看到各个执行过程1,2,3,4,0,但URL地址的方法根本不会执行到,这是什么问题呢?

把POST改为GET,就能执行到,这个方法只有一句话测试语句 echo 'ok',所以应该不是URL对应的这个方法问题.

2014-09-25 15:52 负责人:无 分享
已邀请:
moiste

moiste

同问
post 如何提交请求?

老杜

老杜

我的代码。
{{{
var xhr=null;
xhr = new plus.net.XMLHttpRequest();
xhr.onreadystatechange=function(){

    plus.nativeUI.toast(xhr.readyState+':'+xhr.status);  
    if(xhr.readyState== 4 && xhr.status== 200)  
    {  
        plus.nativeUI.toast(xhr.responseText);  
        if(xhr.responseText=='ok')  
        {  
            //to do  
        }  
    }  
};  

xhr.open( "POST", "server.php");  
xhr.send( "postdata=abc" );  

}}}

真二

真二 (作者)

谢谢,用此方法是可以调用。但如果我的url本身带有参数的话,好像POST就不行了。

chuanjie

chuanjie

你的问题解决了吗,我也遇到了这种问题
function senddata1(){
var data="username='lilanlan'";

xhr=new plus.net.XMLHttpRequest();  
xhr.onreadystatechange=xhrStatechange;  
var url="user_api.php";  
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');  
xhr.open( "POST", url );  
xhr.send(data);  

}  

我的php端也接收不到post的数据啊,这个怎么解决,有方案了吗

happy

happy - hello

我们在使用这个方法的过程中也遇到问题,我们的问题是,当各个状态返回值中如果加上alert一下,最后的success就可以执行,如果不alert,就会报plus对象找不到,很是郁闷啊

该问题目前已经被锁定, 无法添加新回复