Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML+;JQuery:空表单值_Jquery_Python_Html_Ajax_Google App Engine - Fatal编程技术网

HTML+;JQuery:空表单值

HTML+;JQuery:空表单值,jquery,python,html,ajax,google-app-engine,Jquery,Python,Html,Ajax,Google App Engine,我试图将表单数据+附加参数“id”发送到服务器(Python、Google应用程序引擎) 我的表格: <form method="post" action="/" id="form1" runat="server" enctype='multipart/form-data'> <div class="fileButtons"> <input type='file' id="imgInp" name="imgInp" accept="im

我试图将表单数据+附加参数“id”发送到服务器(Python、Google应用程序引擎)

我的表格:

 <form method="post" action="/" id="form1" runat="server" enctype='multipart/form-data'>
       <div class="fileButtons">
       <input type='file' id="imgInp" name="imgInp" accept="image/*"/>
        <input type="submit" id="submit" name="action" value="Send"/>
        <input type='button' id='remove' name="remove" value="Remove" />
        </div>
    </form>
数据
仅接收id

使用Firebug调试时:我得到以下信息:

this form#form1

  imgInp input#imgInp property value = "2.jpg" attribute value = "null"

  remove input#remove attribute value = "Remove"

当您尝试在数据数组中推送值时,可能是尝试错误

而不是写作 var data=$(this.serializeArray(); push({name:'id',value:id})

试试这个

var data=$(this.serializeArray();
data.push({id:$(“#imgInp”).val})

试着像这样序列化数组:

var data = new FormData($(this)[0]);

有关更多信息,请参阅并注意,它在旧版本的Internet Explorer中不起作用。如果您需要跨浏览器兼容性,则无法通过ajax提交文件。

但id不是表单的一部分。这是一个全局参数。serializeArray()之后我仍然得到[]。在这种情况下,下面@dlebech给出的答案对您的问题是准确的。但是提交文件输入参数在IE9和旧版本的IE浏览器上不起作用。如果你看一下这里,你会发现文件输入没有序列化。我在这里看到了这种用法。如果不能这样做,我如何将附加数据添加到表单并在POST请求中发送所有数据?您可能需要查看FormData对象。使用它,您可以通过AJAX调用发送文件和其他内容。这里有一些例子:
var data = new FormData($(this)[0]);