Jquery Ajax вызывает проблему с типом данных - PullRequest
0 голосов
/ 10 марта 2012

Я использую Jquery, чтобы попытаться получить некоторые данные из API Open Calais , но если я не могу получить действительный ответ. Если я использую тип данных «script», я получаю ошибку «отсутствует; перед утверждением. Если я использую тип данных« xml »или что-то еще, я получаю ошибку 403 с сервера Open Calais.

Я решил попробовать тип данных "script", основанный на последней записи в этом сообщении форума Calais

Пожалуйста, не сдерживайте критические замечания и комментарии относительно моего кода. Я наклоняюсь, когда иду.

Мой код:

var baseUrl="http://api.opencalais.com/enlighten/calais.asmx/Enlighten";
var licenseID="wt8h3w3pt333eewdwsyuhut6";
var content="In response to a legislative provision in a bill reauthorizing the FAA, the agency has launched a comment period as it selects six test sites to evaluate unmanned aircraft systems. The focus of the proceeding will be determining the location of the test sites along with establishing...";
var PARMS="&contentType=text/xml&outputFormat=xml/rdf"
var PostDatavar = "?licenseID="+licenseID+"&content="+encodeURIComponent(content)+PARMS;
var componentURL=baseUrl+PostDatavar;

function sendIt(sendData){
$.ajax({
    url:componentURL,
    type: "POST",
    dataType:"script",
    success:function(data){
            alert(data)); 
            console.log(data);
    },
    error:function(){
    alert("it's broken");
    }}
);

}

Ответы [ 2 ]

1 голос
/ 10 марта 2012

это из-за той же политики происхождения. Вы не можете использовать простые ajax-запросы для междоменных запросов. Для получения дополнительной информации см. мой ответ на этот вопрос . Вы можете узнать больше о том, как преодолеть эту проблему, следуя этому руководству .

0 голосов
/ 10 марта 2012


Пожалуйста, используйте следующую функцию, так как в функции, написанной в вышеприведенном скрипте, были некоторые синтаксические ошибки.

function sendIt(sendData){
$.ajax({
    url:componentURL,
    type: "POST",
    dataType:"script",
    success:function(data){
            alert(data); 
            console.log(data);
    },
    error:function(){
    alert("it's broken");
    }}
);
}
...