Jquery ajax FormData()发布错误的密钥名称

时间:2016-03-30 11:14:12

标签: javascript jquery ajax codeigniter form-data

这是我用于使用FormData对象发布表单数据的ajax代码。在这里,我试图将带有图像上传的表单数据发布到控制器。

       var data1= new FormData(); 
       data1.append("doc_photo", $('#file-doc-photo')[0].files[0]);
       data1.append("name", $('#txt-doc-name').val());
       data1.append("email", $('#txt-doc-emailid').val());
       data1.append("phone", $('#txt-doc-phno').val());
       data1.append("country ", $('#ddl-doc-country').val());

        $.ajax({
                       type: "POST",
                       url: baseUrl + "doctor/ctr_doctor/update_doctor",
                       data: data1,
                       cache: false,
                       dataType: "json",
                       contentType: false,
                       processData: false,
                       success: function (res)
                      {
                         alert("Hello");
                      }
          });

控制台输出:

------WebKitFormBoundaryoLvd2A1IOU3cxAPp
Content-Disposition:_form-data;_name Disallowed Key Characters.

我修改了Codeigniters核心输入类以找出错误。

function _clean_input_keys($str)
    {

        if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))
        {
            //$str will append post var key in error message
            exit($str.' Disallowed Key Characters.');
        }

        // Clean UTF-8 if supported
        if (UTF8_ENABLED === TRUE)
        {
            $str = $this->uni->clean_string($str);
        }

        return $str;
    }

我在配置中启用了XSS过滤器。

我知道它发布的表单键不正确,但为什么这就是我想知道的。

0 个答案:

没有答案