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实现这一点?你能创造一个新的世界吗?