weixin_33724570 2015-12-13 07:46 采纳率: 0%
浏览 42

如何更改网址

I want to change the URL of the update operation. The end point of the URL should be gotten from an input. How can I achieve this? The following doesn't work.

    $(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);
         });
   
});

Inputs are gotten from a form and sent to Redmine API. URL should look like below, http://localhost/redmine/issues/2.json

</div>
  • 写回答

1条回答 默认 最新

  • weixin_33736048 2015-12-13 08:28
    关注

    When dynamically populating your id="issueid" select make sure that you properly set the value attribute of the options:

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

    Also fix the url for your next AJAX request by adding a trailing / after issues:

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

报告相同问题?

悬赏问题

  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图