Как мы можем установить заголовок ответа в Access-Control-Allow-Origin: * в jQuery Ajax - PullRequest
1 голос
/ 25 июня 2011

Есть ли способ установить заголовок ответа в ("Access-Control-Allow-Origin", "*") в запросе jQuery Ajax, так как я не уверен, как это сделать ... это мой код ниже. . Любые предложения будут оценены ..

var on_show_info = function() {

                request_info = $.ajax({
                url: search_metadata + current_doc_info.id,
                type: 'GET',
                async: true,
                success: on_metadata,
                error: on_metadata_error    
        });
    };

    var on_get_metadata= function(data, text_status, XMLHttpRequest) {

    alert("data");
        console.log(data);
        var html = "";
        var info = {};

        html = html + "<table border ='0'>";
        html= html + "<tr>";
        html =html + "<td><span style='color:#8A8A8A'>Item Location:</span> " +(data.response.docs[0].itemLocation)+"</td></tr>";
        html =html + "<tr><td><span style='color:#8A8A8A'>Cycle: </span>" +(data.response.docs[0].lifeCycle)+"</td></tr>";
        html =html + "<tr><td><span style='color:#8A8A8A'>Revision: </span>" +(data.response.docs[0].revision)+"</td></tr>";
        html =html + "<tr><td><span style='color:#8A8A8A'>Timestamp: </span>" +(data.response.docs[0].timestamp)+"</td></tr>";
        html =html + "<tr><td><span style='color:#8A8A8A'>ID: </span>" +(data.response.docs[0].id)+"</td></tr>";
        html =html + "<tr><td><span style='color:#8A8A8A'>Attachment: </span>" +(data.response.docs[0].hasAttachment)+"</td></tr>";
        html =html + "<tr><td><span style='color:#8A8A8A'>Description: </span>" +(data.response.docs[0].description)+"</td></tr>";
        html =html + "<tr><td><span style='color:#8A8A8A'>Change: </span>" +(data.response.docs[0].changeNumber)+"</td></tr>";
        if(data.response.docs[0].distributionLevel==undefined)
        {
        html =html + "<tr><td><span style='color:#8A8A8A'>Level: </span>Data Not Available</td></tr>";
        }
        else
        {
        html =html + "<tr><td><span style='color:#8A8A8A'>Distribution Level: </span>" +(data.response.docs[0].distributionLevel)+"</td></tr>"; 
        }


        //html =html + "<tr><td><span style='color:#8A8A8A'>Renewal Due Date: </span>" +(data.response.docs[0].c_renewal_due_date)+"</td></tr>";
        if(data.response.docs[0].asicBomSubdescriptor==undefined)
        {
        html =html + "<tr><td><span style='color:#8A8A8A'>descriptor: </span>Data Not Available</td></tr>";
        }
        else
        {
        html =html + "<tr><td><span style='color:#8A8A8A'>descriptor: </span>" +(data.response.docs[0].asicBomSubdescriptor)+"</td></tr>";

        }
        html =html + "<tr><td><span style='color:#8A8A8A'>LifeCycle: </span>" +(data.response.docs[0].lifeCycle)+"</td></tr>";
        html =html + "</table>";


        $('#popup-meta').removeClass('waiting');
        $('#popup-meta .popup-content').html(html);
    };

    var on_get_metadata_error = function(XMLHttpRequest, text_status, error) {
        alert("error");
        $('#popup-meta').removeClass('waiting');
        $('#popup-meta .popup-content').html('<span class="data-error">Unable to get meta data.</span>');
    };

Ответы [ 3 ]

3 голосов
/ 25 июня 2011

Вы не можете изменить заголовок ответа из кода клиента, он приходит с сервера .

(Конечно, вы можете изменить заголовки ваших запросов (см. Документацию jQuery для ajax), но здесь это не поможет).

Если у вас также есть контроль над тем, что отправляет ваш сервер, то обязательно обновите ваше сообщение соответствующим образом (т.е. предоставьте информацию о платформе / языке и т. Д.)

2 голосов
/ 25 июня 2011

«Заголовок ответа сервера» указывает на заголовок ответа сервера, а не на заголовок запроса клиента, поэтому вы не можете изменить заголовок ответа.Вы должны поместить его в начало файла, из которого вы извлекаете.

<?php
header("Access-Control-Allow-Origin: *");
0 голосов
/ 25 июня 2011

Эти заголовки предназначены для сайтов организации, чтобы общаться друг с другом.Другими словами, вы должны контролировать все задействованные серверы.Предоставление этих заголовков просто ослабляет ограничение одного домена для сайтов с разными доменными именами, которые принадлежат одному и тому же лицу или организации.Он не обеспечивает механизм для ограничения ограничений одного домена со сторонней организацией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...