首页 > 解决方案 > $.get 如何使用 laravel 添加标题

问题描述

我想添加这个标题

headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
},

到我的$.getjQuery请求

$('.wilayas').on('change', function(x) {
        /*             
                    $('.dayras').find('option')
                        .remove()
                        .end() */
        alert(this.value)

        $.get("{{ route('customer.auth.dayras') }}", {
                data: this.value
            },
            function(data, status) {
                alert(data);
                $('.dayras').append(`
             <option value="-">-</option>
        `);
                data.map(dd => {
                    $('.dayras').append(`
             <option value="${dd.id}">${dd.dayra}</option>
        `);
                })
            });
    });

我得到的是 html 响应而不是 json

标签: javascriptajaxlaravel

解决方案


jQuery ajaxheaders选项的语法:

$.ajax({ 
    headers: {          
        "Accept": "text/json"
        "Content-Type": "application/json"
    }    
    ...
    ...
});

jQuery ajax 选项的语法设置或用回调函数headers覆盖:beforeSend

$.ajax({
    url: "{{ route('customer.auth.dayras') }}",
    data: { foo: bar },
    type: "GET",
    beforeSend: function (jqXHR, settings) { 
        jqXHR.setRequestHeader("Accept", "text/json");
        jqXHR.setRequestHeader("Content-Type", "application/json");
    }
    ...
    ...
});

推荐阅读