使用ajax传递#值无效

Jam*_*ber 5 javascript ajax jquery

我试图通过在dom上调用它来通过Ajax工作:

$.ajax({
    url: 'http://debug.build.phonegap.com/target/target-script-min.js#hutber',
    dataType: "script",
    crossDomain: true,
    error: function(data){
        c(data.status);
    },
    success: function(data){
        c(data);
    }
});
Run Code Online (Sandbox Code Playgroud)

现在,这就是发送内容:

 http://debug.build.phonegap.com/target/target-script-min.js?_=1381476442102
Run Code Online (Sandbox Code Playgroud)

这意味着,对我来说,调试我必须使用随机生成的ID.我也试过这个:url: 'http://debug.build.phonegap.com/target/target-script-min.js?_=hutber',只是在黑暗中拍摄.

那么,我#hutber是否认为没有正确发送请求?

编辑

只是快速思考,使用$ .ajax意味着我通过http请求动态加载脚本.正如昆汀所提到的,你不能通过,#vars因为这些是客户端.然而,我发现如果我将元素添加到正文中,就像它在页面加载时一样,我可以通过传递:

var s = document.createElement('script');
s.setAttribute("src","http://debug.build.phonegap.com/target/target-script-min.js#hutber");
document.getElementsByTagName('body')[0].appendChild(s);
Run Code Online (Sandbox Code Playgroud)

现在,事情应该好一点,但不能用手机测试这个理论.但手指交叉.

Que*_*tin 7

是和否.您认为#hutber没有与请求一起发送是正确的,但您认为这是不正确的是错误的.

URL的片段标识符部分纯粹是客户端处理的,因此永远不应该发送到服务器.

如果要将数据附加到要处理的服务器的URL,请使用查询字符串(以?字符开头而不是#字符).如果您同时拥有查询字符串和片段标识符,则必须查询查询字符串.

如果你data向传递给的对象包含一个属性,jQuery将为你生成一个查询字符串ajax(如果你正在使用GET,就像你在这里一样).

data { "_": "hutber" }
Run Code Online (Sandbox Code Playgroud)