私はこれを約1時間半にわたって頭の中で掻いてきました。ですから、私は$ .ajaxを介してフォームを送信していて、ジャンゴからjson応答を返すことを期待しています。 >jQueryがこのJSON応答を正しく処理しないのはなぜですか?
redirectUrl = '/user/purchase/' + str(purchase.pk) + '/'
response_data = {}
response_data['redirect'] = redirectUrl
response_data['status'] = 200
rsp = HttpResponse(simplejson.dumps(response_data))
rsp["CONTENT-TYPE"] = "application/json"
return rsp
場合はjQueryの - フロントエンドには
、JSは、バックエンドでは、この
$.ajax({
"type" : "POST",
"url" : action,
"dataType" : "json",
"data" : serialized_form,
"success" : function (data) {
alert('hey')
console.log(data);
//$("#add_shipping").submit();
},
"error" : function (data) {
alert(data)
}
});
のように見える、Djangoはそのようなシリアル化されたJSON を詰めHttpResponseオブジェクトを返します私はそれを尋ねたようにコンソールにロギングするのではなく、レスポンスを取得し、preタグで囲まれたブラウザにフォーマットされたjsonを表示するだけです。私はこれが私のContent-typeヘッダと何か関係があるかもしれないと推測していますが、私はそれが 'application/json'で応答していると言うことができるからです。誰かが私が間違っているかもしれないと思いますか?ありがとうございました!
ありがとうございます、私は今それについて取り組んでいますが、私が言う限り、私は間違っています。私はもっと深く掘り下げていますが、これは正しい道のようです。 – Hacknightly
ハンドラを見せてもらえますか? – SLaks
さて、私は実際には、他のsubmit関数のコールバック内にあるフォームを送信しようとしていましたが、間違ったフォームを対象としていました。しかし、SLaksが正しい答えに非常に近いので、ティックは彼の道を行く。助けを借りてくれてありがとう:) – Hacknightly