【问题标题】:Changing page with AJAX using JS使用 JS 使用 AJAX 更改页面
【发布时间】:2011-08-22 12:05:19
【问题描述】:

我有以下问题。当满足某些条件时,我想将用户移动到另一个页面。例如,我有一个文本输入字段,用户在其中输入 URL。我想将用户移动到这个 url,而不用他按下任何形式的提交表单。我正在使用 AJAX 来实现这一点。我有一个函数可以检查用户输入的模式,如果发现它是一个有效的 url,页面将更改为这个 url。如果它不是一个有效的 url,它会写错误。

我有一个<div id='url'></div>,AJAX 会更新错误消息(在第一次加载时,在用户输入任何内容之前),并且此消息一直持续到输入有效的 url。当输入有效的 url 时,以下内容将写入此 DIV:

<script type="text/javascript">
window.location.href="http://google.com";   // google.com is just an example
</script>

这似乎不起作用。但是如果我输入页面更改代码而不是错误消息,它就可以工作。

为什么输入有效的 URL 后它不起作用?

【问题讨论】:

  • 应该是
  • 您在这里如何使用 Ajax?它有什么作用?我认为没有理由使用 Ajax(如果您使用它的话)。为什么不直接改location呢?
  • @Felix Kling 当输入表单发生更改时,AJAX 正在工作。例如,如果您键入“bla”,它会写出“bla 不是有效的 URL”,这很好用。但是,如果您输入“google.com”,它会识别 URL 并写入: 但什么也没发生。如果我删除 URL 模式检查并且你写“bla”,它会写 并把你转到这个 url(当然浏览器不会找到它......)
  • “它识别 URL 并写入:

标签: javascript ajax refresh


【解决方案1】:

我认为不需要 AJAX,只需要普通的 javascript。当您发现输入的文本是一个有效的网站并想加载它时,直接使用window.location = "http://google.com"; // google.com is just an example即可 - 无需将其插入到文档中。

【讨论】:

  • 我知道这里不需要AJAX,我现在正在学习AJAX,这只是为了练习。稍后我将需要在与我正在从事的项目类似的事情上使用它,这是一个说明它的小例子
【解决方案2】:

为什么要写JS到DIV而不是直接调用window.location.href="http://google.com"; ?

例如

$.ajax({
  url: 'answercheck.php',
  success: function( data ) {
    if (data=="correct"){
      window.location.href="http://google.com";
    }
    else
    {
        //show error message
    }
  }
});

【讨论】:

    猜你喜欢
    • 2021-02-27
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多