1

这是 Ajax 代码:

jQuery.ajax({url: "http://api.tumblr.com/v2/blog/" + nonTumblrURL + "/info?api_key=WIHfFzkpSXJ4FOfzt3qBAhlleM09iSAtc2AFNAdViAeRPzAsMq&jsonp=getUserName", dataType: "jsonp"});

这是功能:

function getUserName(data){
   console.log(data.response.blog.name);
   var username = data.response.blog.name;

if (username === "api" ){
    //alert("You didn't enter anything.");
    $('input.nonTumblrURL').val("You need to enter something here.");
    return;}
$('#convertedURL').html("<em>Use </em><b> " + username + "</b> <em> for that Tumblr</em>");
}

此处的目的是在使用像“customdomain.com”这样的自定义域而不是标准的“someone.tumblr.com”时检索 Tumblr 的用户名。所以,我使用 Tumblr API 来获取用户名。

当在 Ajax 调用中发送一个空白值时,它会返回“api”,所以我将它捕获在函数中,并在其中放置了一条结果消息#convertedURL并且工作正常。

我需要的是能够捕获在 Tumblr API 中无法解析的非空白值。例如,“theagenda.nytimes.com”正确解析为“nyt-agenda”。

但是,我需要捕获诸如“junkkkkk”之类的内容(以及其他对于 Tumblr 或其他无效域的内容),并将其中的 HTML 替换为#convertedURL“这不是正在使用的自定义域”之类的消息。

在此先感谢您的帮助!

4

1 回答 1

1
function isValidDomain(url){
  return /((http|https):\/\/(\w+:{0,1}\w*@)?(\S+)|)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/.test(url);
} 

从这里公然抄袭。也看到这个

其次,要知道它是否解析为有效的 url。(这里不说 tumblr 特定)

您可以简单地进行 ajax 调用并查看它是成功还是失败。

$.ajax({url : url,
   success : function() {...},
   error : function() {...}
});
于 2012-08-06T21:15:19.973 回答