相关疑难解决方法(0)

如何在没有jQuery的情况下进行AJAX调用?

如何使用JavaScript进行AJAX调用,而不使用jQuery?

javascript ajax

750
推荐指数
16
解决办法
67万
查看次数

来自端点的 jQuery.ajax 内容根据 url 中的哈希值做出不同的响应

主要问题:如何通过 jQuery.ajax()检索带有“ http://www.example.com/index.html#foo ”之类的 url 的内容?

注意:以下适用于脚本,这是我最初要求的:

var script = document.createElement('script');
script.type= 'text/javascript';
script.src= 'http://www.example.com/script.js#foo';
$('head').append(script);
Run Code Online (Sandbox Code Playgroud)

您可以使用此处找到的方法以普通的旧 ajax 方式构建您自己的请求:

var xmlHttp = new XMLHttpRequest();
var url="http://www.example.com/index.html#foo";
xmlHttp.open("GET", url, true);

xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", 0);
xmlHttp.setRequestHeader("Connection", "close");

xmlHttp.onreadystatechange = function() {
     if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
         alert(xmlHttp.responseText);
     }
}

xmlHttp.send();
Run Code Online (Sandbox Code Playgroud)

然而,这似乎是 jQuery.ajax 应该支持的东西。

至于jQuery,我有以下几点:

$.ajax({
    url: 'http://www.example.com/index.html#foo',
    cache: true
});
Run Code Online (Sandbox Code Playgroud)

但是,实际发出的请求是“ http://www.example.com/index.html ”。如果我无法控制我正在使用的端点,并且如果“#foo”不在 url 中,它会以完全不同的内容响应,这很糟糕。

基于对 SO 上另一个问题的回答,我尝试了以下操作

$.ajax({
    url: 'http://www.example.com/index.html',
    cache: true,
    data: {
        '': '#foo' …
Run Code Online (Sandbox Code Playgroud)

html ajax anchor hash jquery

5
推荐指数
0
解决办法
330
查看次数

标签 统计

ajax ×2

anchor ×1

hash ×1

html ×1

javascript ×1

jquery ×1