如何在不刷新整个页面的情况下更改URL

我一直在搜索stackOverFlow等等,看看有没有改变URL而不刷新整个页面我找到了一些答案,但他们并没有真正帮助。
无论如何,所以我想<div>在URL时更改内容someURL.com/?c=users&a=login。你知道它会加载我写的函数。 
例如,看下面的代码:

<?php
    require_once 'model/Muser.php';
    $class = new user();
    switch ($action){
        case 'login':
            if($_POST){
                $data=$_POST['frm'];
                $password=sha1($data['password']);
                $user=$class->select_user($data['username']);
                if($user['password']==$password){
                }
            }
        break;
        case 'logout':
        break;
    }
    require_once "view/$controller/$action.php";


因此,当我键入someURL.com/?c=users&a=login它将加载 view/users/login.php页面但我只想更改<div>的内容。我已经使用jquery想出了这个,但我想在用户someURL.com/?c=users&a=login输入<div>内容更改时或者点击某个按钮时,url和<div>内容会发生变化。 
任何解决方案


慕婉清6462132
浏览 909回答 2
2回答

繁星coding

你可以在我们的页面中定义一个DIV,例如index.html,并使用Ajax将结果放入DIV。没有jQuery的解决方案:const&nbsp;Http&nbsp;=&nbsp;new&nbsp;XMLHttpRequest();const&nbsp;url='YOU_URL?param1=data1&param2=data2';Http.open("GET",&nbsp;url);Http.send();Http.onreadystatechange=(e)=>{ &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(this.readyState&nbsp;==&nbsp;4&nbsp;&&&nbsp;this.status&nbsp;==&nbsp;200)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;htmlRequest&nbsp;=&nbsp;this.responseText; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById("DIV").innerHTML&nbsp;=&nbsp;htmlRequest; &nbsp;&nbsp;&nbsp;&nbsp;}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript