web-dev-qa-db-ja.com

jQueryはHTTPURLでリクエストを取得します

最近、jQueryを使用してURLから応答を取得しようとしました。したがって、 jQuery API Get Request Tutorial のget requestサンプルをプロジェクトにコピーして実行しようとしましたが、デバッグメッセージに、それ以上進むことができないことが示されました。単純なリクエストを使用してjavascriptAjaxライブラリを試しましたが、機能しませんでした。

だから私はあなたに何とかして私を助けることができるかどうか尋ねています。

そして、これは私がするすべてですが、応答がありません。

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

$.get(url, function(data){


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

私はおそらくajaxまたはjQueryライブラリを含めるのを忘れていましたか?理解を深めるために、私はcとobj-cの経験があります。これが、ライブラリが欠落していると私が考える理由です。

各サンプルには、「test.php」のような短いURLがあります。私の完全なHTTPURLは間違っていますか?

事前にご回答いただきありがとうございます。

Brニック

7
NicTesla

開始に役立つシナリオの例を示しました。

<!-- 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!');
      }
    }
  });
});
13
Oliver Spryn

あなたはajaxリクエストに関して 同一生成元ポリシー を打っています。

一言で言えば、JS/Ajaxはデフォルトで、HTMLページが提供されているのと同じドメインでのみリクエストを発生させることができます。他のドメインでリクエストを送信する場合は、 [〜#〜] jsonp [〜#〜] をサポートするか、 Access-Control headers それを機能させるために。それが不可能な場合は、サーバー側でプロキシを作成して代わりに使用する必要があります(ロボットを使用して他のサイトからのリーチが多すぎると禁止される可能性があるため、注意してください)。

9
BalusC

他の人が言っているように、あなたは別のサーバー上のファイルにアクセスすることはできません。ハックがあります。サーバーサイド言語を使用している場合(私が想定しているように)、次のようなことを簡単に行うことができます。

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) });

それはうまくいくはずです!

3
user400908

ドメイン/サーバーからページにアクセスできます

0
ave4496