JQuery Получить запрос по HTTP URL - PullRequest
6 голосов
/ 10 мая 2011

Я недавно пытался получить ответ от URL, используя jQuery. Поэтому я скопировал пример запроса на получение jQuery API Get Request Tutorial в свой проект и попытался его запустить, но мои сообщения об отладке показали, что он не может идти дальше. Я попробовал Javascript Ajax Library, используя простой запрос, но он не работал.

Поэтому я спрашиваю вас, не могли бы вы как-нибудь мне помочь.

И это все, что я делаю, но ответа нет.

var url = "http://www.google.com";

$.get(url, function(data){


    alert("Data Loaded: " + data);
    });

Возможно, я забыл включить библиотеку ajax или jQuery. Для лучшего понимания у меня есть опыт c и obj-c, поэтому я думаю, что библиотека отсутствует.

В каждом примере есть просто короткий URL-адрес, такой как «test.php». Мой полный HTTP-адрес неверен?

Спасибо за ваши ответы на продвинутом уровне.

Br Nic

Ответы [ 4 ]

12 голосов
/ 10 мая 2011

Я привел пример сценария, который поможет вам начать:

<!-- Include this jQuery library in your HTML somewhere: -->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script

Это, вероятно, лучше всего включить во внешний файл JS:

//Listen when a button, with a class of "myButton", is clicked
//You can use any jQuery/JavaScript event that you'd like to trigger the call
$('.myButton').click(function() {
//Send the AJAX call to the server
  $.ajax({
  //The URL to process the request
    'url' : 'page.php',
  //The type of request, also known as the "method" in HTML forms
  //Can be 'GET' or 'POST'
    'type' : 'GET',
  //Any post-data/get-data parameters
  //This is optional
    'data' : {
      'paramater1' : 'value',
      'parameter2' : 'another value'
    },
  //The response from the server
    'success' : function(data) {
    //You can use any jQuery/JavaScript here!!!
      if (data == "success") {
        alert('request sent!');
      }
    }
  });
});
9 голосов
/ 10 мая 2011

Вы применяете Одинаковую политику происхождения в отношении запросов AJAX.

В двух словах, JS / Ajax по умолчанию разрешено запускать запросы только в том же домене, откуда была получена HTML-страница. Если вы намереваетесь запускать запросы в других доменах, он должен поддерживать JSONP и / или установить Access-Control заголовки , чтобы заставить его работать. Если это не вариант, вам нужно создать прокси-сервер на стороне сервера и использовать его (будьте осторожны, так как вас могут забанить за то, что вы слишком много перехватываете с других сайтов с помощью робота).

3 голосов
/ 10 мая 2011

Как уже говорили другие, вы не можете получить доступ к файлам на другом сервере. Есть взлом, хотя. Если вы используете серверный язык (как я полагаю, вы), вы можете просто сделать что-то вроде:

http://myserver.com/google.php:

<?php
  echo get_file_contents('http://www.google.com');
?>

http://myserver.com/myscript.js

$.get('google.php',function(data){ console.log(data) });

Это должно сработать!

0 голосов
/ 10 мая 2011

вы просто можете получить доступ к страницам с вашего домена / сервера

...