Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 浏览器未重定向,但url正在更改_Javascript_Php_Jquery_Redirect_Browser - Fatal编程技术网

Javascript 浏览器未重定向,但url正在更改

Javascript 浏览器未重定向,但url正在更改,javascript,php,jquery,redirect,browser,Javascript,Php,Jquery,Redirect,Browser,我想通过点击整行来重定向我的页面 因此,我的HTML表格行位于下面,它是由javascript创建的 id = 1; <tr onclick="document.location.href='http://localhost/emailc/emailCampaignEdit/"+id+"'"> <td><b>abc</b></td> </tr> 它工作得很好,浏览器完全重定向

我想通过点击整行来重定向我的页面

因此,我的HTML表格行位于下面,它是由javascript创建的

id = 1;
<tr onclick="document.location.href='http://localhost/emailc/emailCampaignEdit/"+id+"'">
    <td><b>abc</b></td>
</tr>
它工作得很好,浏览器完全重定向到谷歌页面,我还测试了其他重定向代码,如
window.location.href
window.location.assign
window.location
所有东西都有同样的问题。

var id=1;
var id = 1;
document.write('<table>'+
'<tr onclick="document.location.href=\'http://localhost/emailc/emailCampaignEdit'+id+'\'">'+
'<td><b>abc</b></td>'+
'</tr></table>');
文件。写(“”)+ ''+ “abc”+ '');

请尝试上面的代码

这应该行得通,它适合我

var td = document.getElementsByTagName('td'), id = 1;

td[0].addEventListener('click', function(){location.assign('yourURL.php?id=' + id);}, false);
请注意,document.location.href返回页面的URL,不重定向。有关更多信息,请参阅

<tr onclick="openWin('1')">
    <td><b>abc</b></td>
</tr>
<script>
function openWin(id)
{
window.open("http://localhost/emailc/emailCampaignEdit/"+id)
}
</script>
这将在url更改后立即从服务器重新加载页面,而不是从缓存重新加载页面

因此,您应该使用:

function openWin(id)
    {
    window.open("http://localhost/emailc/emailCampaignEdit/"+id,"_self");
    location.reload(false);
    }


如何为
ID
变量赋值?是否使用任何类型的虚拟服务器,如xamp?ID是动态的,但为了降低复杂性和方便起见,我将write ID=1@ProllyGeek不,我使用Ubuntu作为操作系统,它分别包含Apache、PHP和所有…您在哪个浏览器中测试这个?由于您的代码在IE-11和Chrome上运行完美,我刚刚进行了测试!我的行是使用javascript的insertrow()创建的,document.write()对我的应用程序或进一步处理没有帮助。不,亲爱的,document write只是一个例子。当我尝试您的代码时,URL中存在“(引号)问题。您能告诉我在哪里吗?在URL中,您不能在字符串中使用多个引号。如果你想使用,有一个正确的方法,使用\'而不是“我这样做了,但它没有产生任何区别。但是为什么document.location.href正在另一个页面上工作,比如www.google.com,我现在就给你打电话,您正在做的是分配href属性,以便将url更改为该属性,浏览器将打开已设置的属性,但如果您想重定向,则最好使用location.assign,尤其是在使用事件时。我已经在问题中写下了这一点,我尝试了window.location.assign。它也有同样的问题。它打开了一个新选项卡,但不在同一选项卡中,当我使用“_self”作为第二个参数时,它会遇到我在问题中提到的相同问题。当你在新选项卡中打开它时,它是否正常工作?我不知道到底是什么问题,可能是安全问题,但是我可以建议通过编程触发刷新,这适合你吗?@vishal我知道这不是正确的方法,但你可以称之为“变通”,直到我们找到真正的问题,我编辑了我的答案,所以请告诉我它是否有效。然后你可能想显示与此页面相关的完整代码,它是动态生成的吗,或者它是否已经存在于服务器上?
location.reload(false);
function openWin(id)
    {
    window.open("http://localhost/emailc/emailCampaignEdit/"+id,"_self");
    location.reload(false);
    }