【问题标题】:Javascript indexOf() not working [duplicate]Javascript indexOf()不起作用[重复]
【发布时间】:2013-09-08 09:16:00
【问题描述】:

我正在开发一个随机生成 URL 的服务,然后使用 PHP fwrite(). 将一些粘贴的 HTML 代码上传到 URL 作为预防措施,我添加了一个系统来检查 URL 是否已被使用:

var URL = "thehtmlworkshop.com/test4.html";
$('#existingurls').load('existingurls.txt');
var existing = $('#existingurls').html();
var isunique = existing.indexOf( URL );
if (isunique == -1) {
alert('Form submit');
} else {
alert('Whoops! Looks like the randomly generated URL was already taken. Please try again (this will be automatic in future).');
}

existingurls.txt 包含所有创建的 URL。当我第一次尝试它时,为了测试当 URL 与当前 URL 重复时会发生什么,而不是使用随机 7 字母字符串生成器,我只是将其中一个 URL 放在了 txt 文件中。

这是existingurls.txt的内容:

thehtmlworkshop.com/test1.html
thehtmlworkshop.com/test2.html
thehtmlworkshop.com/test3.html
thehtmlworkshop.com/test4.html
thehtmlworkshop.com/test5.html

无论如何,应该发生的是indexOf 搜索所有出现的“thehtmlworkshop.com/test4.html”并将其位置返回为 91 或任何位置,然后它会告诉用户随机生成的 URL被拿走。但是,它似乎每次都返回-1,因为它总是进入提交表单对话框。

注意:是的,我正在使用 jQuery。

【问题讨论】:

  • 现在都在一起了:A jax 是 异步...
  • 不是真正的重复,而是相似的。

标签: javascript jquery html indexof


【解决方案1】:

试试这个:

var URL = "thehtmlworkshop.com/test4.html";
$('#existingurls').load('existingurls.txt', function () {
    var existing = $('#existingurls').html();
    var isunique = existing.indexOf(URL);
    if (isunique == -1) {
        alert('Form submit');
    } else {
        alert('Whoops! Looks like the randomly generated URL was already taken. Please try again (this will be automatic in future).');
    }
});

【讨论】:

  • @william44isme,太好了!很高兴我能帮上忙。
【解决方案2】:

检查 ajax 函数的成功调用列表以确保它已加载。

var URL = "thehtmlworkshop.com/test4.html";
$('#existingurls').load('existingurls.txt', function(response, status, xhr) {
  if (status == "error") {
    var msg = "Sorry but there was an error: ";
    $("#error").html(msg + xhr.status + " " + xhr.statusText);
  } else {
    var isunique = existing.indexOf(URL);
    if (isunique == -1) {
      alert('Form submit');
    }
  }
});

【讨论】:

  • 啊,答案已经在上面了。抱歉,我在 1 分钟后添加了代码。
猜你喜欢
  • 2013-04-17
  • 2023-03-25
  • 2014-04-22
  • 2010-12-22
  • 2013-11-19
  • 2016-10-23
  • 2017-05-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多