2012-01-24 5 views
-1

Я пытаюсь сделать ссылку, где, когда она нажата, она переходит на сайт, на котором она должна быть, но она также запускает скрипт cgi. Я нашел разные примеры, но я до сих пор не совсем понимаю это.Доступ к скрипту cgi с помощью JavaScript

В сущности, у меня есть два вопроса:

  1. Где я могу размещающие скрипт, так что я могу получить к нему доступ?
  2. Как мне получить к нему доступ?
+0

И я не знаю, правильны ли теги, которые я выбрал. –

ответ

1

Где можно разместить сценарий, чтобы я мог получить к нему доступ?

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

Как получить доступ к нему?

Вы можете забыть JavaScript, иметь обычную ссылку, а затем выполнить CGI перенаправление 302, или вы можете использовать Ajax.

Остерегайтесь проблем с синхронизацией. Браузер может перейти к следующему URL-адресу, прежде чем он начнет делать запрос Ajax. Вероятно, перенаправление будет лучшим подходом.

+0

Хорошо, что кажется законным ... +1 –

+0

Кстати, если вам нужно, чтобы javascript получил что-то из другого домена (имя хоста и порт), и вы управляете сервером, вы можете использовать совместное использование ресурсов на основе перекрестных ссылок. Прочтите это: http://enable-cors.org/ –

1
<script> 
function callYourCGI(){ 
    var i = new Image(); 
    i.src = "your-cgi-url?name=value&name2=value2"; 
} 
</script> 
<a href="the-next-document.html" onclick="callYourCGI()"> 

объект Изображение является частью HTML DOM. Это позволяет вам манипулировать изображениями на странице HTML. Читайте об этом здесь: http://www.javascriptkit.com/jsref/image.shtml

Сценарий создает объект изображения, а затем присваивает URL-адрес вашего скрипта CGI атрибуту SRC. Это заставляет браузер выполнять запрос на получение содержимого URL-адреса. В этом случае вы не собираетесь отображать объект изображения, поэтому содержимое, возвращаемое вашим скриптом CGI, не должно быть реальным изображением. Если может быть, если хотите, все же. В любом случае, побочным эффектом является то, что вызывается сценарий CGI с некоторыми параметрами, если это необходимо. Преимущество этого метода заключается в том, что он не нарушает одну и ту же политику происхождения, поскольку изображения могут быть загружены из любого места.

+0

Спасибо, но я все еще не уверен, что это говорит ... Как, что такое «Изображение», и что делает i .src линия означает? –

+0

А что такое ссылка thingy? Помните, что я n00b. –

+0

@CodeAdmiral - При всей серьезности, если ваши навыки JavaScript находятся на этом уровне, тогда [вы должны изучить основы] (http://www.w3.org/wiki/Web_Standards_Curriculum#JavaScript_core_skills), прежде чем пытаться решить конкретные проблемы с JS. – Quentin

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