Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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
.net ie和firefox使用相同的表单发送不同的表单,为什么?_.net_Http_Unicode_Encoding_Httpwebrequest - Fatal编程技术网

.net ie和firefox使用相同的表单发送不同的表单,为什么?

.net ie和firefox使用相同的表单发送不同的表单,为什么?,.net,http,unicode,encoding,httpwebrequest,.net,Http,Unicode,Encoding,Httpwebrequest,我有一张表格,如果我只填写英文字符,一切都可以,但如果我尝试填写一些中文字符,那么问题就会出现: 如果在chrome或firefox中填写表单,则会发送以下请求: /docsearch/documents/site/test/documentLibrary/?filter=path&filterData=%2F&size=50&pos=1&prop\u cm\u name=%E4%B8%AD%E5%9B%BD HTTP/1.1 如果在IE中填写表格,则发送以下请求: /doclib/docsea

我有一张表格,如果我只填写英文字符,一切都可以,但如果我尝试填写一些中文字符,那么问题就会出现:

如果在chrome或firefox中填写表单,则会发送以下请求:

/docsearch/documents/site/test/documentLibrary/?filter=path&filterData=%2F&size=50&pos=1&prop\u cm\u name=%E4%B8%AD%E5%9B%BD HTTP/1.1

如果在IE中填写表格,则发送以下请求: /doclib/docsearch/documents/site/test/documentLibrary/?filter=path&filterData=%2F&size=50&pos=1&prop\u cm\u name=\326\320\271\372 HTTP/1.1

正如你所看到的,相同的汉字在IE和firefox中可以有不同的编码。有人能告诉我如何让IE发送与firefox/chrome相同的请求吗

编辑表格:

    <form action="" enctype="application/json" accept-charset="utf-8" method="post" id="template_x002e_toolbar_x002e_documentlibrary-form" forms-runtime="listening" onsubmit="return false;">   
          <div class="form-fields" id="template_x002e_toolbar_x002e_documentlibrary-form-fields">

    <div class="form-field">
             <label for="template_x002e_toolbar_x002e_documentlibrary_prop_cm_name">Name:</label>
          <input type="text" title="Name" value="" tabindex="0" name="prop_cm_name" id="template_x002e_toolbar_x002e_documentlibrary_prop_cm_name">
    </div>
    </form>

姓名:

IE似乎将这些字符视为Unicode,而不是根据form中的参数UTF8?

您可能需要从
form
元素中删除
enctype
属性,或者为其选择以下值之一:

  • 应用程序/x-www-form-urlencoded
  • 多部分/表单数据
  • 文本/纯文本
您正在使用的值,
application/json
,可能会导致您看到的差异,因为不同的浏览器可能会以不同的方式处理
enctype
属性的未知值


有关更多信息,请参阅。

您可以发布表单的代码片段吗?我已经发布了表单,提前表示感谢。解决方案是我必须使用encodeURIComponent函数手动编码这些参数。请参阅,以检查javascript中的不同编码函数