未捕获的InvalidStateError。必须打开对象的状态。

时间:2014-10-22 05:19:23

标签: javascript jquery ajax json

Uncaught InvalidStateError:无法在'XMLHttpRequest'上执行'setRequestHeader':对象的状态必须为OPENED。尤伯杯graph.js:19

但是,这是我的代码。我不明白为什么这是错的。

var uberTemplateFunction = Handlebars.compile($('#page-template')。html());

var search = function(Slong, Slat, Elong, Elat){

Slat = encodeURIComponent(Slat);
Slong = encodeURIComponent(Slong);
Elat = encodeURIComponent(Elat);
Elong = encodeURIComponent(Elong);

var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function () {
    if (xhr.readyState === 4 && xhr.status === 200) {
      document.getElementById('ajaxResponse').innerHTML = xhr.responseText;
    }
};

var url = 'https://api.uber.com/v1/estimates/price?start_latitude=' + Slat  +  '&start_longitude=' + Slong + '&end_latitude=' + Elat + '&end_longitude=' + Elong;
xhr.setRequestHeader("Authorization", "Token lFdfJgCSnohPg0LVm8NN3qBviR0-cwl42exRYqAU");
xhr.open('GET', url , true);
xhr.send(); // Make the HTTP request



    $.getJSON(url, function(response){  //can use $ or jQuery
        console.log(response);

        var html = '';

        for(var i = 0; i < response.prices.length; i++){
            html += uberTemplateFunction(response.prices[i]);
        }

        $('#results').html(html);
    });

};
$('form').on('submit', function(e){
    e.preventDefault();

    var Slat = $('#slat').val();
    var Slong = $('#slong').val();
    var Elat = $('#elat').val();
    var Elong = $('#elong').val();

    //console.log(searchTerm);

    $('#results').html('Loading....');
    search(Slat, Slong, Elat, Elong);
});

0 个答案:

没有答案