【发布时间】:2014-09-13 21:59:14
【问题描述】:
我对 JQuery 不太熟悉,我正在尝试使用 jquery ajax 进行发布请求。 我以前使用过 xhr,但我不确定我是否正确地修改了它。如果有人可以给我一些反馈,那将不胜感激!
这是我使用 xhr 的原始代码:
j("#saveButton").click(function() {
var ID = j(".selected-list")[0].getAttribute('id');
var subject = j('input').val();
var blurb = j("#blurb_stream").val();
var date = j('datepicker').val();
if(blurb.length != '' && ID != undefined && subject.length != ''){
xhr.open("POST", envUrl + "streams/" + ID + "/touches?subject=" + subject + "&body=" + blurb + "&schedule_on=" + date, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
console.log('saved!');
} else {
alert('not working');
}
}
xhr.send();
}
});
这是我使用 ajax 调整后的代码:
j("#saveButton").click(function() {
var ID = j(".selected-list")[0].getAttribute('id');
var subject = j('input').val();
var blurb = j("#blurb_stream").val();
var date = j('datepicker').val();
var data = new FormData();
data.append("date", "date");
data.append("ID", "ID");
data.append("subject", "subject");
data.append("blurb", "blurb");
// check this!
if(blurb.length != '' && ID != undefined && subject.length != ''){
j.ajax({
url: 'envUrl + "streams/" + ID + "/touches?subject=" + subject + "&body=" + blurb + "&schedule_on=" + date',
type: "POST",
data: data,
success: function(){
alert(1);
}
});
}
}
【问题讨论】:
-
您应该删除查询字符串以支持发布数据。无需使用
append,数据可以以更紧凑的形式设置。
标签: javascript jquery ajax post