-1

単純な「URLがアクティブである」検証を作成したいと思います。

これが私がこれまでに持っているものです:

function checkUrl(url) {
    var ok = false;
    $.ajax(
        {
            url: 'http://www.google.com',
            success: function(result) {
                ok = true;
            },
            error: function(result) {
                ok = false;
            },
            async: false
        }
    );
    return ok;
}

ただし、常にfalseを返します。'www.google.com'のURLはテスト目的でのみ存在することに注意してください。

4

2 に答える 2

0

これを試して :-

function buildQuery() {
            return "select * from json where url = 'google.com'";
        }

        $.ajax({
           url: 'http://query.yahooapis.com/v1/public/yql',
           data: {
               q: buildQuery(),
               format: "json"
           },
           dataType: "jsonp",
           success: function (result) {
               alert("Success :" +JSON.stringify(result));
           },
           error: function (result) {
               alert("error: " + JSON.stringify(result));
           },
       }
   );
于 2013-03-02T12:37:11.223 に答える
0

これは、同一生成元ポリシーと呼ばれるもののためです。これは、ブラウザーによって実装されるセキュリティポリシーであり、クロスドメインのajax呼び出しを防ぎます。

これに対する解決策はJSONPを使用することですが、接続するサーバーはこのポリシーをサポートしている必要があります。

jQuery.ajaxはjsonpをサポートしています。

元:

$.getJSON('<resource-url?callback=?>').done(function(data){
    //Your callback logic
});
于 2013-03-02T12:42:46.407 に答える