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

但它总是返回假。请注意,“www.google.com”网址仅用于测试目的。

4

2 回答 2

0

这是因为所谓的同源策略,它是一种由浏览器实现的安全策略,可以防止跨域 ajax 调用。

对此的解决方案是使用JSONP,但您要连接的服务器必须支持此策略。

jQuery.ajax支持 jsonp。

前任:

$.getJSON('<resource-url?callback=?>').done(function(data){
    //Your callback logic
});
于 2013-03-02T12:42:46.407 回答
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 回答