我想更改更新操作的 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 * </label>
<select class="form-control selectclass" id="issueid"></select>
</div>
<div class="col-md-6">
<label>Tracker * </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 </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/