方法让echo在php脚本中工作,该脚本由$.POST调用的javascript函数调用

方法让echo在php脚本中工作,该脚本由$.POST调用的javascript函数调用,javascript,php,echo,.post,Javascript,Php,Echo,.post,下面是一个javascript/jQuery函数,当在屏幕上的HTML页面上单击一个类为“postbit_quote”的按钮时调用该函数。 按钮的id存储在变量post中,变量线程设置为创建页面的php脚本中变量$tid的值,所选变量设置为单击按钮时所选的文本。 然后使用$.post方法调用php脚本“newreply.php”,并将上述变量传递给脚本。此脚本创建一个回送的html文档。通常,这将显示为等待用户响应的新页面。但是在这种构造中,通过.done函数的参数“data”捕获回音信息并返回

下面是一个javascript/jQuery函数,当在屏幕上的HTML页面上单击一个类为“postbit_quote”的按钮时调用该函数。 按钮的id存储在变量post中,变量线程设置为创建页面的php脚本中变量$tid的值,所选变量设置为单击按钮时所选的文本。 然后使用$.post方法调用php脚本“newreply.php”,并将上述变量传递给脚本。此脚本创建一个回送的html文档。通常,这将显示为等待用户响应的新页面。但是在这种构造中,通过.done函数的参数“data”捕获回音信息并返回给javascript。使用document.write编写此变量时,将显示包含html的页面

$(document).ready(function(){
    $(".postbit_buttons").on("click",".postbit_quote",function(){
        var post = this.id.substring(5);
        var thread = getUrlParameter("tid");
        selected = window.getSelection().getRangeAt(0).cloneContents();
        $.post("newreply.php",{tid: thread, replyto: post, selection: selected}).done(function(data) {document.write(data)});
    });
});
这是有效的,这不是问题所在。问题是,当显示页面时,浏览器地址字段中的url仍然是原始脚本的url,而不是被调用脚本(此处为newreply.php)的url,这让人困惑。第二个问题是,页面加载未完成的指示器(Firefox是一个旋转的轮子)在用户操作离开页面之前不会停止


有没有办法让被调用脚本中的echo执行它的正常工作,并且控制权不会返回到javascript?

您真的不想使用
document.write
。它在很久很久以前就不再有用了,并且在很大程度上与这个以DOM为主导、响应性强的设计时代不兼容?我不是专家,正在寻找解决方案。请看一下DOM脚本。这是一个太广泛的问题,我无法在这里的评论中总结,但这是你需要走的路。