【问题标题】:JAVASCRIPT AJAX - Prevent redirect?JAVASCRIPT AJAX - 防止重定向?
【发布时间】:2015-01-10 00:48:59
【问题描述】:
$.ajax({url:"URL",success:function(result){    

我有一个网页,它访问某个 URL,然后提取网页的某些元素。但是,为了访问该 URL,您必须被重定向到类似于登录页面的页面(需要提交表单),然后您才能访问该链接。

我想在加载 URL 时阻止重定向。这可能吗?

如果没有,我可以使用 JAVASCRIPT 手动提交表单吗?通过 AJAX 或任何其他资源。

编辑:通过手动将 .html 保存到我的目录并从我的根文件夹访问页面,它可以流畅地工作。

谢谢!

【问题讨论】:

  • 这是不可能的。请求重定向到的位置完全由接收服务器确定。您没有向我们提供足够的信息来帮助您处理后一个请求。
  • 网页是否在您无法控制的服务器上?
  • 是的,它在我无法控制的服务器上。
  • 看起来您正在访问 API(例如 Facebook),请确定您是否需要实现 oAuth REST API 调用。您被重定向的原因是 API 的 redirectionURL 要求,以便在您的应用或您的用户通过身份验证后返回您的网站。
  • @agentpx 它与 API 有关,但不,我请求的 URL 与 API 无关。我不确定我是否可以发布我试图访问的链接,所以你知道我的意思。告诉我是否允许,我会发布。

标签: javascript php jquery html ajax


【解决方案1】:

是的,这是可能的。您需要停止表单提交并添加您的 AJAX 调用。像这样:

$("form").submit(function(){
    $.ajax({url:"URL",
        success:function(result){
        }
    });
    return false;
});

More information here.

【讨论】:

  • 这不会阻止服务器端重定向
  • 这不是 OP 要求的。
  • @gibsonman507 你说return false 是不可访问的。
  • @gibsonman507 请不要玩删除评论的游戏,并想知道为什么人们会为此制作 cmets
  • $("button").click(function(){ $.ajax({url:"URL",success:function(result){ 准确地说,我的代码如上^^ ,我点击一个按钮,它使用我的 URL 调用 ajax,但是当 URL 被调用时,它会自动重定向到一个不同的网页,该网页的用途与我想要的不同。return false 能解决问题吗?
【解决方案2】:

如果我理解您的问题,您需要做的是事先以编程方式将用户登录到外部网站。如果其他站点支持 OAuth 或类似的东西,这是可能的,但具体情况将取决于他们的 API 以及您到底想要做什么。如果没有更多信息,我不能告诉你更多。

这假设您尝试将其他网页包含在 iFrame 中,或直接链接到那里的页面,或类似的东西。另一方面,如果您尝试以用户身份登录到国外网站,提取一些内容,然后将其与您自己的内容混合,那么我建议您改变您的方法。您可能会在外国网站或浏览器中违反各种反 XSS 安全策略,具体取决于您尝试执行的操作。或者,您必须要求您的用户在另一个网站上提供他们的密码,并且他们必须为此真正信任您。

一般来说,如果您想与另一个网站进行交互,用户的客户端应该直接从另一个服务器连接、登录和接收内容,而不需要您充当中介。我想你可能问错了问题:而不是“我怎么能在没有用户登录的情况下做到这一点”,而是问“我怎样才能让用户连接并登录到另一个网站而不必离开我的页面?”

【讨论】:

  • 该网站不需要我登录。它要求我做的只是写一个有效的用户名(可以是任何东西),然后按“添加我”,我就可以访问该 URL。我不知道该如何处理。
  • 他们有 API 吗?您说“这是一个普通网站,而不是 API”,但这并不意味着他们也没有 API。
  • 我不确定。 www.addmesnaps.com/snapchat_online.php
猜你喜欢
  • 2015-07-18
  • 2012-03-29
  • 2012-12-10
  • 1970-01-01
  • 2020-01-08
  • 2018-04-30
  • 1970-01-01
  • 2018-01-27
  • 2010-09-18
相关资源
最近更新 更多