2013-07-18 4 views
0

Я написал файл .cgi, чтобы получить некоторую информацию об оборудовании, и теперь я хотел бы получить эту информацию с другой HTML-страницы в том же домене с помощью функции get() jQuery. Я пытался сделать это с помощью этой части кода:Функция jQuery get() не работает

var cgiContent = ''; 

$.get("http://localhost/cgi-bin/CPU.cgi", function(data) 
{ 
    cgiContent = data; 
}); 

Но это не работает, и я понятия не имею, почему ... Когда я смотрю на отладчике браузера Firefox, cgiContent = '' и data до сих пор не определено.

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

С наилучшими пожеланиями, Nittak

+4

Загружен файл с одного домена? (т. е. 'http: // localhost /'). Действительно ли выполняется обратный вызов успеха? На вкладке сети отображаются проблемы с запросом/ответом? –

+1

Вы пытались получить доступ к URL прямо в своем браузере? – satoru

+0

Да, я могу получить доступ к URL прямо в моем браузере, и файл загружается из того же домена. – Nittak

ответ

0

Это, вероятно, Same Origin проблема (СОП) проблема. Firefox может показать 200, хотя на самом деле не удается получить контент из-за SOP.
Поскольку вы, как утверждается, находитесь в том же домене, просто опустите протокол и доменное имя и просто напишите $.get("cgi-bin/CPU.cgi" и посмотрите, работает ли он с этим.

Также добавьте в вашу функцию успеха console.log, чтобы увидеть, действительно ли она выполнена.

+0

Спасибо за ваш ответ. Действительно, Firefox, похоже, заполняет протокол и домен, когда я его опускаю. Я также добавляю console.log, но ничего не отображается в консоли ... – Nittak

+0

@Nittak каждый браузер делает это. Это рекомендуемый способ указать URL-адреса, кстати. – Christoph

+0

Хорошо, но моя проблема еще не решена, это заставляет меня сходить с ума! x) – Nittak

Смежные вопросы