angular.js - ApringMVC menerima permintaan pos sudut, parameternya adalah batal atau terus 400, sila selesaikan?
我想大声告诉你
我想大声告诉你 2017-05-15 17:01:12
0
1
598
Saya telah dibunuh oleh perkara ini dalam dua hari lalu Perkara yang paling dibenci ialah beberapa projek baik dan beberapa projek menyusahkan, tetapi saya tidak tahu mengapa. Baru belajar seminggu. Itu sahaja. Terdapat dua kaedah di bawah yang pertama menerima json, jadi tidak mengapa. Yang terakhir menerima teks dan kemudian terus 400. Jika ia ditukar kepada @requestBody, ia akan menjadi batal.
/**
     * 验证注册名
     **/

    @ResponseBody
    @RequestMapping(value = "validateName", method = RequestMethod.POST)
    public String userNameValidate(@RequestParam("name") String name) {

        if (userServive.checkRegisterName(name)) {
            return "1";
        } else {
            return "0";
        }
    }

    /**
     * 保存注册信息
     **/
    @ResponseBody
    @RequestMapping(value = "/saveNewUser", method = RequestMethod.POST, consumes = "application/x-www-form-urlencoded")
    public String saveRegisterInfo(@RequestParam("user") User user) {

        System.out.println(user);

        //        User u = userServive.saveRegisterUser(user);
        if (user != null) {
            return "1";

        } else {

            return "0";
        }
    }
Kemudian, lihat perbezaan antara pengepala permintaan dan pengepala respons kedua-duanya: Kaedah sebelumnya: Jenis Kandungan semuanya sepadan antara satu sama lain, tidak mengapa.

Response Headers
view source
Content-Length:1
Content-Type:application/json;charset=UTF-8
Date:Mon, 25 Apr 2016 13:51:18 GMT
Proxy-Connection:keep-alive
Server:Apache-Coyote/1.1


Request Headers
view source
Accept:application/json, text/plain, */*
Accept-Encoding:gzip, deflate, lzma
Accept-Language:zh-CN,zh;q=0.8
Connection:keep-alive
Content-Length:11
Content-Type:application/x-www-form-urlencoded
Tetapi yang terakhir tidak sepadan: ada masalah.

Response Headers
view source
Connection:close
Content-Language:en
Content-Length:1105

Content-Type:text/html;charset=utf-8

Date:Mon, 25 Apr 2016 14:10:17 GMT
Proxy-Connection:keep-alive
Server:Apache-Coyote/1.1


Request Headers
view source
Accept:application/json, text/plain, */*
Accept-Encoding:gzip, deflate, lzma
Accept-Language:zh-CN,zh;q=0.8
Connection:keep-alive
Content-Length:50

Content-Type:application/x-www-form-urlencoded
Jadi, kaedah kedua saya di atas ialah menambah pengguna atau pengeluaran, malah pengepala telah dicuba, tetapi masih tidak boleh diubah: Content-Type:text/html;charset=utf-8 Masih salah, salah, salah, salah, salah. Saya menambah tiga beg Jackson Apa yang sedang berlaku? ? Perkara yang paling membenci ialah beberapa hari yang lalu, kaedah yang sama berfungsi dengan baik, tetapi ia tidak berkesan apabila saya menukar jaket. Hei
我想大声告诉你
我想大声告诉你

membalas semua(1)
给我你的怀抱

Permintaan siaran sudut tidak akan mensirikan data, anda perlu mengubah suai $httpProvider

$httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
$httpProvider.defaults.transformRequest = function(obj){
    var str = [];
    for(var p in obj) {
        str.push(encodeURIComponent(p) + '=' + encodeURIComponent(obj[p]));
    }
    return str.join("&");
};
$httpProvider.defaults.headers.post = {
    'Content-Type': 'application/x-www-form-urlencoded'
};
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan