Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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
寻找一种方法来;仿效;完整的网站(包括请求、历史记录、URL)作为另一个页面中的javascript示例?_Javascript_Html_Frameworks_Emulation - Fatal编程技术网

寻找一种方法来;仿效;完整的网站(包括请求、历史记录、URL)作为另一个页面中的javascript示例?

寻找一种方法来;仿效;完整的网站(包括请求、历史记录、URL)作为另一个页面中的javascript示例?,javascript,html,frameworks,emulation,Javascript,Html,Frameworks,Emulation,我正在开发一个显示html/css/javascript代码示例的网站。类似于最佳实践库的东西 示例如下所示: sendFakeUser() .then((user) => { console.info(user); // console or do stuff with your data } 如何实现完全可单击的摘要元素 一个好的标题提纲应该是什么样子的 如何在模态对话框中管理键盘焦点 我正在使用CodePen.io创建示例,这样用

我正在开发一个显示html/css/javascript代码示例的网站。类似于最佳实践库的东西

示例如下所示:

sendFakeUser()
    .then((user) => {
        console.info(user);
        // console or do stuff with your data
    }
  • 如何实现完全可单击的摘要元素
  • 一个好的标题提纲应该是什么样子的
  • 如何在模态对话框中管理键盘焦点
我正在使用CodePen.io创建示例,这样用户就可以根据自己的意愿试用它们

每个示例都显示在一个网页上,每个示例都应该只使用HTML、CSS和JavaScript(CodePen.io提供的东西)编写

唯一的问题是:我如何模拟(假的?)请求

  • 例如,其中一个示例将显示单击按钮如何触发对服务器的AJAX调用,然后在页面的某个位置显示信息。在后台,它不是一个真正的AJAX调用,它只是一个由JavaScript处理的“伪”AJAX调用
  • 另一个例子是在页面之间导航:URL应该改变(例如,
    examples/123/#index
    ,然后单击链接后,它是
    examples/123/#其他一些页面
    ),但事实上,它仍然是反复显示的同一页面,但根据URL,会显示一些不同的内容。浏览器历史记录也需要运行
  • 最后一个例子可能是提交表单并在表单中内联显示输入错误:如何以简单的方式获取POST数据,并再次显示有错误的表单
这当然可以使用纯JavaScript来完成。但我肯定有图书馆可以做这样的事情,我只是不知道该搜索什么


事实上,我所描述的是小型的单页应用程序。但我不需要像AngularJS这样成熟的框架,我想,能够处理请求(包括管理浏览器历史记录和URL)的非常简单的东西就足够了。

要创建一个假的服务器来处理AJAX请求,您可以使用这个nodejs模块,例如:

使用此模块,您可以执行真正的获取、发布、放置或删除请求,并将虚假数据发送到javascript应用程序

另一种方法是简单地使用超时和承诺来伪造发送模拟数据的AJAX请求。但使用这种方法,您永远不会发送真正的HTTP请求,返回数据的只是函数

下面是一个函数的示例,该函数创建了一个伪造服务器响应的承诺:

function sendFakeUser() {
    let user = {
        name: 'antoine',
        email: 'a@antoine.fr'
    };

    return new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve(user);
        }, 2000);
    });
}
您可以这样调用此函数:

sendFakeUser()
    .then((user) => {
        console.info(user);
        // console or do stuff with your data
    }