Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何获取不带';是否在使用YQL的函数中验证?_Jquery_Yql - Fatal编程技术网

Jquery 如何获取不带';是否在使用YQL的函数中验证?

Jquery 如何获取不带';是否在使用YQL的函数中验证?,jquery,yql,Jquery,Yql,此示例正确验证URL。我如何确定哪些未验证?我想在else部分触发单个警报,或者获取可能在其他地方使用的值 function check_URL() { var url = "http://" + localStorage['t'] + ".tumblr.com"; var url1 = "http://" + localStorage['t1'] + ".tumblr.com"; var url2 = "http://" + localStorage['t2'] + ".tumblr.com

此示例正确验证URL。我如何确定哪些未验证?我想在
else
部分触发单个警报,或者获取可能在其他地方使用的值

function check_URL() {

var url = "http://" + localStorage['t'] + ".tumblr.com";
var url1 = "http://" + localStorage['t1'] + ".tumblr.com";
var url2 = "http://" + localStorage['t2'] + ".tumblr.com";
var url3 = "http://" + localStorage['t3'] + ".tumblr.com";

var urlArray = ['url', 'url1', 'url2','url3'];
$(urlArray).each(function (urlItem) {
$.getJSON("http://query.yahooapis.com/v1/public/yql?"+
            "q=select%20*%20from%20html%20where%20url%3D%22"+
            encodeURIComponent(urlItem)+
            "%22&format=xml'&callback=?",
    function(data){
      if(data.results[0]){
        console.log("yes");
      } 
      else { 
      console.log("no");

      alert("? is not a valid URL or is down.");

     }
    }
  );
});
};

谢谢新手对你的帮助

在需要使用的数组中循环

此外,您不需要将变量名包装在字符串中。这样做只会返回
“url”
,而不是变量的值

function check_URL() {

  var url = "http://" + localStorage['t'] + ".tumblr.com";
  var url1 = "http://" + localStorage['t1'] + ".tumblr.com";
  var url2 = "http://" + localStorage['t2'] + ".tumblr.com";
  var url3 = "http://" + localStorage['t3'] + ".tumblr.com";

  var urlArray = [url, url1, url2, url3],
      invalidUrls = [];

  $.each(urlArray, function (i, urlItem) {
    $.getJSON("http://query.yahooapis.com/v1/public/yql?"+
    "q=select%20*%20from%20html%20where%20url%3D%22"+
    encodeURIComponent(urlItem)+
    "%22&format=xml'&callback=?",
    function(data){
      if(data.results[0]){
        console.log("yes");
      } 
      else { 
        invalidUrls.push(urlItem);
      }
    }
    );
  });

  return invalidUrls;
};

谢谢在第一次测试中表现完美。“教人钓鱼…”每天学习更多。那么,您是否声明了一个空数组“invalidUrls”,并将“urlItem”值与“push”一起存储在该数组中?我想我也可以将“http://”和“.tumblr.com”变为vars(H+域)来表示类似“var url=H+localStorage['t']+域”的内容,但不确定它是否为函数添加了任何值。再次感谢@user1452893以下是有关
.push()
的更多信息-使用空数组的原因是,当所有URL都有效时,您的代码不会中断,因为它需要一个数组并得到其他内容。太好了,谢谢!正在尝试整理警报。在Safari中很奇怪,它使用有效的URL重复。Chrome显示正确,但每个无效url显示一个。Safari显示的是有效url,而不是无效url。哎呀!