【问题标题】:URL hiding seems to compromise website functionalityURL 隐藏似乎损害了网站功能
【发布时间】:2012-05-29 03:08:38
【问题描述】:

我有以下网站正在运行:www.posti.sh 该网站实际上位于 www.myskoob.com/postish/,但我使用域转发,以便当用户键入 www.posti.sh 时它会保留这样,不会更改为 www.myskoob.com/postish/。你可以试试官网。它通常是关于发布一些东西并使用 jQuery ajax 让用户执行发布。随意测试它。

问题来了:

访问 www.myskoob.com/postish/ 时,发布工作正常 - 所有 ajax 调用似乎都有效。但是,当我访问 www.posti.sh 时,它不起作用,尽管它访问相同的文件 - 我不明白为什么。

有两种转发方式 - 一种是帧转发(然后工作),另一种是 URL 隐藏,这是一种更简洁的方式,因为这样 URL 实际上会随着打开的不同页面而变化。

有人知道 URL 隐藏不起作用的原因吗?我试图在 ajax 调用的 php 文件上回显一些内容,但它没有返回任何内容,所以问题似乎是 ajax 无法连接到该文件。

感谢您的帮助!

丹尼斯

更新 1

请在此处查看 ajax 代码:

//Post
    $.ajax({
        type: 'POST',
        url: 'action/post.php',
        data: 'posttext='+posttext+'&imageurl='+imageurl+'&randomcode='+randomcode,
        success: function(post){
            //Do something here
        }
    }).error(function(){
        //Say it could not post
        alert('The post could not be sent - please try again later.');
    });

【问题讨论】:

  • 在您的$.ajax( 添加error : function(jqXHR, textStatus, errorThrown){ // log textStatus & errorThrown } 了解更多详情。
  • @ErikPhilips 我添加了“error : function(jqXHR, textStatus, errorThrown){ alert(jqXHR+' '+textStatus+' '+errorThrown); }”,但它不会发出任何警报。此外,ajax 末尾的 .error 不会发出任何警告。

标签: jquery ajax url dns url-redirection


【解决方案1】:

域是否被硬编码到您的 ajax 请求中?因为在 Web 浏览器中,由于 same origin policy,您无法对不同的域执行典型的 ajax 请求。

一种解决方法是不在 ajax 逻辑中对域进行硬编码,只需使用相对路径即可。即:

$.load('/search/results.json');代替$.load('http://mydomain.com/search/results.json');

【讨论】:

  • 我只使用相对路径,但谢谢。我想也许我需要在 myskoob 的服务器上配置一些东西?
  • @Dennis 除了理论,我无法提出任何建议,因为您没有在问题中添加任何代码
猜你喜欢
  • 1970-01-01
  • 2015-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-08
  • 1970-01-01
  • 2011-05-20
相关资源
最近更新 更多