javascript content-type详解

 

1 application/x-www-form-urlencoded 

这个类型就是jquery ajax content-type 默认的设置  PHP POST可以接受

2  contentType : “application/json

PHP接受如下

$string = file_get_contents("php://input"); 
// $string=urldecode($string);
parse_str($string, $res); //第一个参数为字符串,第二个参数为结果
// var_dump($res);

// $file_in=json_decode($file_in,\'true\');
print_r($res); 
exit();

 

3 multipart/form-data

下面直接贴ajax的代码

<!DOCTYPE html>
<html>

<head>
    <title></title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0">
</head>

<body>
    <div id="app">
        <form id="addForm" action="/home/moban/testformdata" method="POST" enctype="multipart/form-data">
            <p>username: <input type="text" name="fname" /></p>
            <p>age: <input type="file" name="age" /></p>
            <div id="submitAdd">提交 </div>
        </form>
    </div>
    <script src="/moban/js/jquery.min.js"></script>
    <script type="text/javascript">
    $(function() {
        $("#submitAdd").click(function() {

            var targetUrl = $("#addForm").attr("action");
            var data = new FormData($("#addForm")[0]);
            $.ajax({
                type: \'post\',
                url: targetUrl,
                cache: false, //上传文件不需缓存
                processData: false, //需设置为false。因为data值是FormData对象,不需要对数据做处理
                contentType: false, //需设置为false。因为是FormData对象,且已经声明了属性enctype="multipart/form-data"
                data: data,
                dataType: \'json\',
                success: function(data) {
                    alert(\'success\');
                },
                error: function() {
                    alert("请求失败")
                }
            })

        })
    })
    </script>
</body>

</html>

 

版权声明:本文为newmiracle原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/newmiracle/p/14102323.html