我已启动并运行以下网站: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.');
});
答案 0 :(得分:0)
域名是否已硬编码到您的ajax请求中?因为在网络浏览器中由于same origin policy而无法对其他域执行典型的ajax请求。
一个解决方法是不在ajax逻辑中对域进行硬编码,只需使用相对路径。即:
而不是$.load('http://mydomain.com/search/results.json');
使用$.load('/search/results.json');