1

我已经启动并运行了以下网站: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.');
    });
4

1 回答 1

0

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

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

而不是$.load('http://mydomain.com/search/results.json');使用$.load('/search/results.json');

于 2012-05-22T15:33:23.087 回答