現在、ajaxでポストをdjangoフォームに送信していますが、JQueryなしでこれを行う必要があります。AjaxポストをJQueryを使用せずにDjangoフォームに送る方法
動作しているJQueryのバージョンです。
$.ajax({
url : "/platform/post-tracking/",
type : "POST",
async: true,
data : {
account : 229829623,
width : pageWidth
}
});
この投稿要求をJQueryなしで送信するにはどうすればよいですか? 私はこれを試しました
data = {
account : 229829623,
width : pageWidth
}
var request = new XMLHttpRequest();
request.open('POST', '/platform/post-tracking/', true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.send(data);
フォームは有効ではありません。
ジャンゴフォーム:
class TrackingForm(forms.ModelForm):
class Meta:
model = TrackedSession
fields = ('account', 'width')
Djangoのモデル:
class TrackedSession(models.Model):
account = models.IntegerField(default=0)
width = models.IntegerField(default=0)
Djangoのビュー:request.send()
へ
def TrackDataView(request):
if request.method == 'POST':
form = TrackingForm(request.POST)
if form.is_valid():
print "Form is valid."
temp = form.save(commit=False)
session = TrackedSession()
session.account = temp.account
session.trackedIp = trackingip
session.width = temp.width
session.save()
print("Session Created")
else:
print "Form isn't valid."
print form.errors
response_data = "Success"
return HttpResponse(
json.dumps(response_data),
content_type="application/json"
)
http://youmightnotneedjquery.com/#post – Hopeless
それは私が使用しているコードですが、それはまだ私のDjangoのフォームで有効ではありません。 –
Djangoの処理コードとhtml /テンプレートを投稿できますか? – Hopeless