Javascript jQueryAjax在url上删除整数
我正在使用这些数据Javascript jQueryAjax在url上删除整数,javascript,jquery,ajax,put,Javascript,Jquery,Ajax,Put,我正在使用这些数据 // Pulled from the button that was hit var method = document.activeElement.getAttribute('method').toUpperCase(); var url = document.activeElement.getAttribute('url'); 两个按钮(方法)定义了相同的url'/user/1' 这是我的jQuery AJAX调用 $.ajax({ type: meth
// Pulled from the button that was hit
var method = document.activeElement.getAttribute('method').toUpperCase();
var url = document.activeElement.getAttribute('url');
两个按钮(方法)定义了相同的url'/user/1'
这是我的jQuery AJAX调用
$.ajax({
type: method,
url: url', /* I even hard coded this to make sure what it had to use */
contentType: "application/json; charset=utf-8",
data: $(form).serializeArray(),
error: function (xhr, status) {
alert(xhr.status + ' : ' + url);
}
});
我发现PUT调用会截断给定URL末尾的号码。但它有一个尾随斜杠,没关系
如果我运行DELETE,它会实现我所期望的
DELETE: /user/1
DELETE: /user/1
如果我跑了,我就不跑了;我得不到我所期望的
PUT: /user
注意到url中缺少数字“1”了吗
我四处寻找,决定尝试原生JS。。。这就是我所拥有的
var xhr = new XMLHttpRequest();
xhr.open(method, url);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onload = function() {
if (xhr.status === 200) {
var userInfo = JSON.parse(xhr.responseText);
}
};
xhr.send(JSON.stringify($(form).serializeArray()));
如果我运行DELETE,它会实现我所期望的
DELETE: /user/1
DELETE: /user/1
如果我跑过去
PUT: /user/1
它起作用了
是的,我知道URL在PUT的末尾有“1”,因为我在ajax调用之前和之后将变量发送到控制台
console.log(method + ': ' + url);
此外,本机JS使用的var创建与jQuery使用的var创建相同
现在是踢球的人
如果URL定义为
PUT: /user/walter
结尾的名字保持不变
有什么想法吗?看起来像是一些bug。你在其他浏览器中尝试过吗?这在Firefox中很好用……那么问题是什么呢?如何使用jquery实现这一点?你能创造一个新的世界吗?