冰鱼
冰鱼
  • 发布:2015-05-07 17:59
  • 更新:2015-05-08 08:32
  • 阅读:2823

mui.ajax传递json数据报Uncaught ReferenceError: plus is not defined

分类:MUI
function saveGzdAndroid(){  
            var formData = $('#gzd').serializeJSON();  
            alert(formData.saveType)  
            mui.ajax(pathXunj + "/gzd/saveGzdAndroid.html",{  
                data:formData,  
                dataType:'json',//服务器返回json格式数据  
                type:'post',//HTTP请求类型  
                timeout:10000,//超时时间设置为10秒;  
                success:function(data){  
                    //服务器返回响应,根据响应结果,分析是否登录成功;  

                },  
                error:function(xhr,type,errorThrown){  

                }  
            });  
        }

去掉这个参数就成功跳转:data:formData,前几天测试成功的,今天不知道是怎么回事,而且plus并不是空

2015-05-07 17:59 负责人:无 分享
已邀请:
DCloud_UNI_CHB

DCloud_UNI_CHB

是页面初始化就发送数据吗?确认plusReady事件发生了吗?

  • 冰鱼 (作者)

    确认页面已经初始化,请看下面的代码,去掉data:formData这个参数能成功调用远程方法,而且plus对象并不为空

    2015-05-08 08:32

冰鱼

冰鱼 (作者) - 码农

mui.init();  
        var ws;  
        var saveType;  
        mui.plusReady(function(){  
            // 获取窗口对象  
            ws = plus.webview.currentWebview();  
            var id = ws.gid;  
            if(id == null){  
                getGzdId();  
                document.getElementById("saveType").value = "insert";  
            }else{  
                getDetailGzd(id);  
                document.getElementById("saveType").value = "update";  
            }  

            plus.nativeUI.closeWaiting();  
            ws.show("slide-in-right",300);  
        });  
        function saveGzdAndroid(){  
            var formData = $('#gzd').serializeJSON();  
            alert(formData.saveType)  
            mui.ajax(pathXunj + "/gzd/saveGzdAndroid.html",{  
                data:formData,  
                dataType:'json',//服务器返回json格式数据  
                type:'post',//HTTP请求类型  
                timeout:10000,//超时时间设置为10秒;  
                success:function(data){  
                    //服务器返回响应,根据响应结果,分析是否登录成功;  

                },  
                error:function(xhr,type,errorThrown){  

                }  
            });  
        }
  • DCloud_UNI_CHB

    代码没变过?mui升级过没?是不是服务器做了什么变动?有外网地址没?我可以验证一下。

    2015-05-08 08:45

  • 冰鱼 (作者)

    回复 DCloud_UNI_CHB:没有外网地址,不过好像并不是咱这边框架的问题,我用jquery的ajax也是无法提交,不过没有报错,去掉参数就可以提交,在手机上弹出参数只是个object,您知道有什么方法弹出json格式的数据,我看一下是不是数据哪有问题了?

    2015-05-08 08:59

  • DCloud_UNI_CHB

    JSON.stringify(obj)把object转成json格式的字符串,然后再alert或log打印

    2015-05-08 09:12

  • 冰鱼 (作者)

    回复 DCloud_UNI_CHB:OK,谢谢啊

    2015-05-08 09:28

  • 冰鱼 (作者)

    回复 DCloud_UNI_CHB:数据也没问题,我发现是因为我的字段name值超过了5位就不行,只要把input的name值缩短就可以<input id="zwrjxs" name="zwrjxs" type="text" placeholder="" width="">改成<input id="rjxs1" name="rjxs1" type="text" placeholder="" width="">就可以,这是个什么情况?

    2015-05-08 09:48

  • DCloud_UNI_CHB

    jquery同样如此吗?是不是和其他字段冲突?

    2015-05-08 12:03

  • 冰鱼 (作者)

    回复 DCloud_UNI_CHB:恩,不是冲突,是字段类型转换的问题,服务器端是int类型的,手机端用type=‘text’的input不行,奶奶个腿的,服务器端没有报错,调着调着,改好了,以为是name长度的问题。。。把服务器的字段都改成string类型就好了。

    2015-05-08 14:33

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