aaaa
aaaa
  • 发布:2014-11-18 22:38
  • 更新:2014-11-19 15:13
  • 阅读:2610

plus.net.XMLHttpRequest()post

分类:HTML5+

xhr.send(“dataA=11”);可以执行,但是xhr.send(data);却不行

var xhr = null;  

                function testXHR() {  
                    if (xhr) {  
                        return;  
                    }  
                    xhr = new plus.net.XMLHttpRequest();  
                    xhr.onreadystatechange = xhrStatechange;  

                    var data = {  
                        dataA: "11"  
                    };  

                    xhr.open("POST", "http://www.yohaschool.com/dan/dan.ashx");  
                    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  

                    xhr.send(“dataA=11”);  
//xhr.send(data);这个不行,怎么弄  
                }  

                function xhrStatechange() {  
                    alert("xhr请求成功:" + xhr.responseText);  
                    switch (xhr.readyState) {  
                        case 0:  
                            console.log("xhr请求已初始化");  
                            break;  
                        case 1:  
                            console.log("xhr请求已打开");  
                            break;  
                        case 2:  
                            console.log("xhr请求已发送");  
                            break;  
                        case 3:  
                            console.log("xhr请求已响应");  
                            break;  
                        case 4:  
                            if (xhr.status == 200) {  
                                alert("xhr请求成功:" + xhr.responseText);  

                            } else {  
                                console.log("xhr请求失败:" + xhr.readyState);  
                            }  
                            break;  
                        default:  
                            alert("xhr请求成功:" + xhr.responseText);  
                            break;  
                    }  
                }  
2014-11-18 22:38 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

send方法目前只支持String类型,请转换成字符串后进行提交,对于JSON对象,可以这样:

xhr.send( JSON.stringify(data) );
  • aaaa (作者)

    那后台应该怎么接?

    2014-11-19 17:08

  • DCloud_App_Array

    你设置Content-Type为form表单数据:

    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    而实际提交的又不是表单格式,服务器肯定无法处理。


    我不知道其他语言如何获取,在PHP可以通过以下方法来获取原始数据:

    $GLOBALS['HTTP_RAW_POST_DATA']

    2014-11-21 18:28

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