javascript - 如何更改网址

标签 javascript ajax

我想更改更新操作的 URL。 URL 的结束点应从输入中获取。我怎样才能实现这个目标?以下内容不起作用。

    $(document).ready(function(){
      
       $.fn.serializeObject = function()
{
    var o = {};
    var a = this.serializeArray();
    $.each(a, function() {
        if (o[this.name] !== undefined) {
            if (!o[this.name].push) {
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || '');
        } else {
            o[this.name] = this.value || '';
        }
    });
    return {"issue":o};
};
<form role="form">
    <div class="form-group input-group">
        <div class="row">
        <div class="col-md-6">
        <label>Issue ID * &nbsp;</label>
        <select class="form-control selectclass" id="issueid"></select>
        </div>
        <div class="col-md-6">
        <label>Tracker * &nbsp;</label>
        <select class="form-control" name="tracker" id="tracker">
          <option value="1">Bug</option>
          <option value="2">Feature</option>
          <option value="3">Support</option>
        </select>
        </div>
        </div>
    </div>
    <div class="form-group">
        <label>Subject &nbsp;</label>
        <input class="form-control" placeholder="Issue Subject" name="subject" id="subject">
    </div>
    <div class="form-group">
        <label>Description</label>
        <textarea class="form-control" rows="6" name="description" id="description"></textarea>
    </div>
  <button type="submit" id="submit" class="btn btn-default">Submit Button</button>
  <button type="reset" class="btn btn-default">Reset Button</button>
  </form>

$('#submit').on('click', function(){
            var x=document.getElementById('issueid').value;
            $.ajax({
                type : 'PUT',
                
                url: 'http://localhost/redmine/issues'+ x +'.json',
               
                
                contentType:'application/json',
                 
                data:JSON.stringify($('form').serializeObject()), // post data || get data
                success : function(msg, status, jqXHR) {
                    console.log(msg, status, jqXHR);
                    
                },
                error: function(xhr, resp, text) {
                    console.log(xhr, resp, text);
                }
            })
            console.log(x);
         });
   
});

从表单获取输入并将其发送到 Redmine API。 URL 应如下所示:http://localhost/redmine/issues/2.json

最佳答案

动态填充 id="issueid" 选择时,请确保正确设置选项的 value 属性:

$('.selectclass').append('<option value="' + value.id + '">' + value.id + '<option>');

还可以通过在 issues 之后添加尾随 / 来修复下一个 AJAX 请求的 URL:

url: 'http://localhost/redmine/issues/' + x + '.json'

关于javascript - 如何更改网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34249020/

相关文章:

javascript - js逆向while循环

javascript - 如何从 javascript 数组中的某个 div 元素添加 id?

javascript - 使用 jQuery 加载脚本时保持作用域

php - jQuery/Ajax : Error Handling

javascript - 谷歌地图不正确的 GeoJSON 渲染

javascript - 无法摆脱 map 中唯一键的 react 警告

javascript - 为什么它不断重复我正在更新的当前行?

javascript - 我可以清除移动设备上触摸的 div 的焦点吗?

php - 为什么 laravel 5.8.35 向我显示这个 javascript

javascript - jQuery 在滚动时加载更多数据