0

我正在使用 ajax 在 php 中添加数据和上传文件,但它返回 require appname 我将在 GetPhp.php 中编写查询 appname 是必需的

if(!appid)
    {
    var appname=document.getElementById("appname").value;
    parameters ="appname="+appname;
    /*var apptype=document.getElementById("apptype").value;
    parameters ="apptype="+apptype;
    var appurl=document.getElementById("appurl").value;
    parameters ="appurl="+appurl;
    var appguid=document.getElementById("appguid").value;
    parameters ="appguid="+appguid;
    var cname=document.getElementById("cname").value;
    parameters ="cname="+cname;*/
    $.ajaxFileUpload
            (
            {

                    url:'uploadplist.php',
                    secureuri:false,
                    fileElementId:'plist',
                    dataType: 'json',
                    data:{name:'logan', id:'id'},
                    success: function (data, status)
                    {


                        var plist=data.msg;

                        parameters +="&plist="+plist;

                       $.ajaxFileUpload
                         (
                          {

                          url:'uploadipa.php',
                          secureuri:false,
                          fileElementId:'ipa',
                          dataType: 'json',
                          data:{name:'logan1', id:'id1'},
                          success: function (data, status)
                          {
                           var ipa=data.msg;
                           parameters +="&ipa="+ipa;
                              $.ajaxFileUpload
                             (
                              {

                            url:'uploadprovision.php',
                            secureuri:false,
                            fileElementId:'provision',
                            dataType: 'json',
                            data:{name:'logan2', id:'id2'},
                            success: function (data, status)
                            {
                            var provision=data.msg;
                            parameters +="&provision="+provision;
                            $("input#appname").val('');
                            /*$("input#apptype").val('');
                            $("input#appurl").val('');
                            $("input#appguid").val('');
                            $("input#cname").val('');*/
                            $('#mask').hide();
                            $('.window').hide();
                            httprequest.onreadystatechange=alertContents;
                            httprequest.open('POST','GetPhp.php',true);
                            httprequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                            httprequest.setRequestHeader("Content-length", parameters.length);
                            httprequest.setRequestHeader("Connection", "close");
                            httprequest.send(parameters);
                            },
                           error: function (data, status, e)
                           {
                           alert(e);
                           }
                         }
                       )

                          },
                         error: function (data, status, e)
                         {
                         alert(e);
                         }
                         }
                       )


                    },
                    error: function (data, status, e)
                    {
                        alert(e);
                    }
            }
            )

            }

当我删除 apptype ,appurl,appquid,cname 的评论时,我只插入 appname 它的工作,它没有上传到我

4

1 回答 1

1

我不完全清楚你在问什么,但我认为你的问题在这里:

var appname=document.getElementById("appname").value;
parameters ="appname="+appname;
var apptype=document.getElementById("apptype").value;
parameters ="apptype="+apptype;
var appurl=document.getElementById("appurl").value;
parameters ="appurl="+appurl;
var appguid=document.getElementById("appguid").value;
parameters ="appguid="+appguid;
var cname=document.getElementById("cname").value;
parameters ="cname="+cname;

你正在替换parameters而不是添加它。尝试...

var appname=document.getElementById("appname").value;
parameters ="appname="+appname;
var apptype=document.getElementById("apptype").value;
parameters +="&apptype="+apptype;
...

(注意+=和附加&

或者更具可读性...

var parameters =
    "appname="  + $("#appname").val() + 
    "&apptype=" + $("#apptype").val() +
    "&appurl="  + $("#appurl").val() +
    "&appguid=" + $("#appguid").val() + 
    "&cname="   + $("#cname").val();

您可能还需要对参数进行 urlencode(这是一种很好的做法)

例如...

var parameters =
    "appname="  + encodeURIComponent($("#appname").val()) + 
    "&apptype=" + encodeURIComponent($("#apptype").val()) +
    "&appurl="  + encodeURIComponent($("#appurl").val())  +
    "&appguid=" + encodeURIComponent($("#appguid").val()) + 
    "&cname="   + encodeURIComponent($("#cname").val());
于 2012-06-14T21:08:58.423 回答