thinkphp5.1 api formData修改问题

浏览:1273 发布日期:2019/05/08 分类:ThinkPHP5专区 关键字: thinkphp5.1 thinkphp5 formData PUT update Restful API
RESTful API 保存新数据PHP端public function save(Request $request)
    {
        // 提交数据处理
        $data=input("param.");
        return json($data);
    }
html端// 添加上传
$("input[type='button']").click(function(){
    url="http://tooep.com/car/v1/car.html";
    // 获取form数据
    car_form=document.getElementById("car_form");
    var formdata=new FormData(car_form);

    // 添加其他数据
    formdata.append("nature_name",$("select[name='nature']").find("option:selected").text());
    formdata.append("name",$("select[name='brand']").find("option:selected").text()+$("input[name='model']").val());
    formdata.append("gear_position_name",$("select[name='gear_position']").find("option:selected").text());
    if($("select[name='province']").find("option:selected").text()==$("select[name='city']").find("option:selected").text()){
        formdata.append("parking_place_city",$("select[name='province']").find("option:selected").text());
    }else{
        formdata.append("parking_place_city",$("select[name='province']").find("option:selected").text()+$("select[name='city']").find("option:selected").text());
    }
    formdata.append("accident_type_name",$("select[name='accident_type_name']").find("option:selected").text());
    formdata.append("engine_name",$("select[name='engine']").find("option:selected").text());
    formdata.append("gearbox_name",$("select[name='gearbox']").find("option:selected").text());
    formdata.set("starting_price",$("input[name='starting_price']").val()*100);
    formdata.set("commission",$("input[name='commission']").val()*100);
    formdata.set("service_price",$("input[name='service_price']").val()*100);
    formdata.set("management_price",$("input[name='management_price']").val()*100);
    formdata.set("add_price",$("input[name='add_price']").val()*100);

    if(validate(formdata)){
        formdata.append("type","0");
        for(var pair of formdata.entries()) {
            console.log(pair[0]+ ', '+ pair[1]); 
        }
        $.ajax({
            type: 'POST',
            url: url,
            data:formdata,
            processData: false,
            contentType: false,
            success: function (ret) {
                console.log(ret);
                if(ret["statusCode"]==200){
                    alert("添加成功");
                    var index = parent.layer.getFrameIndex(window.name);
                    parent.layer.close(index);
                }else{
                    alert(ret["statusCode"]+" :"+ret["statusMes"]);
                }
            },
            error:function (jqXHR, textStatus, errorThrown){
                alert(jqXHR.readyState);
                alert(jqXHR.status);
                alert(jqXHR.statusText);
                alert(jqXHR.responseText);
            }
        });
    }
});
RESTful API 修改数据PHP端(该代码块等于插入新数据的代码块,在同一文件)public function update(Request $request)
    {
        // 提交数据处理
        $data=input("param.");
        return json($data);
    }
RESTful API 修改数据html端(该代码除url,提交类型,等于插入新数据html端)// 修改上传
$("input[type='button']").click(function(){
    url="http://tooep.com/car/v1/car/"+data.car_id+".html";
    // 获取form数据
    car_form=document.getElementById("car_form");
    var formdata=new FormData(car_form);

    // 添加其他数据
    formdata.append("nature_name",$("select[name='nature']").find("option:selected").text());
    formdata.append("name",$("select[name='brand']").find("option:selected").text()+$("input[name='model']").val());
    formdata.append("gear_position_name",$("select[name='gear_position']").find("option:selected").text());
    if($("select[name='province']").find("option:selected").text()==$("select[name='city']").find("option:selected").text()){
        formdata.append("parking_place_city",$("select[name='province']").find("option:selected").text());
    }else{
        formdata.append("parking_place_city",$("select[name='province']").find("option:selected").text()+$("select[name='city']").find("option:selected").text());
    }
    formdata.append("accident_type_name",$("select[name='accident_type_name']").find("option:selected").text());
    formdata.append("engine_name",$("select[name='engine']").find("option:selected").text());
    formdata.append("gearbox_name",$("select[name='gearbox']").find("option:selected").text());
    formdata.set("starting_price",$("input[name='starting_price']").val()*100);
    formdata.set("commission",$("input[name='commission']").val()*100);
    formdata.set("service_price",$("input[name='service_price']").val()*100);
    formdata.set("management_price",$("input[name='management_price']").val()*100);
    formdata.set("add_price",$("input[name='add_price']").val()*100);

    if(validate(formdata)){
        formdata.append("type","0");
        for(var pair of formdata.entries()) {
            console.log(pair[0]+ ', '+ pair[1]); 
        }
        $.ajax({
            type: 'PUT',
            url: url,
            data:formdata,
            processData: false,
            contentType: false,
            success: function (ret) {
                console.log(ret);
                if(ret["statusCode"]==200){
                    alert("添加成功");
                    var index = parent.layer.getFrameIndex(window.name);
                    parent.layer.close(index);
                }else{
                    alert(ret["statusCode"]+" :"+ret["statusMes"]);
                }
            },
            error:function (jqXHR, textStatus, errorThrown){
                alert(jqXHR.readyState);
                alert(jqXHR.status);
                alert(jqXHR.statusText);
                alert(jqXHR.responseText);
            }
        });
    }
});
结果:
插入新数据正常
修改数据提示 Malformed UTF-8 characters, possibly incorrectly encoded,或者如附件一样的数据
最佳答案
评论( 相关
后面还有条评论,点击查看>>