誰かに次の問題がありますか?インスペクタでjQuery TypeError: '定義されていません'はAJAXの関数ではありません。
jQuery(document).ready(function($) {
$("#ajax-form").submit(function(e) {
e.preventDefault();
$("#result").html('Sending…').fadeIn();
var fields = '{';
$('#ajax-form').filter(':input').each(function() {
fields = fields + $(this).attr("name")+' : '+$(this).val()+', ';
});
fields = fields + '}';
url = '/scripts/form-submit.php';
$.post(url,fields, function(data, respText, xhr){
alert('ok-'+data+'-'+respText+'-'+xhr);
})
.error(function(d) {
alert('no good');
});
});
});
、私が提出する上で次のエラーを取得:.ERRORをクローズライン(});
)上
TypeError: 'undefined' is not a function (near '....error(function(d) {...')
。それは17行です。
送信時には、「ok--success-[object XMLHttpRequest]
」と表示されます。私が提出しているスクリプトは、AJAXの応答データとして電子メールを送って「それは成功しました」と返信され、電子メールは送信されず応答も受信されません。私はスクリプトが動作することを知っています。なぜなら私はそれを定期的に(非同期ではなく)ポストするので、すべて正常に動作するからです。
洞察力は非常に高く評価されています。ありがとう。ポストデータ
$('#form').submit(function(){
$.ajax({
type: "POST",
url: "/scripts/form-submit.php",
data: $(this).serialize(),
success:function(response){
alert('ok-'+data+'-'+respText+'-'+xhr);
alert("Details saved successfully!!!");
},
error: function (request, status, error) {
alert(request.responseText);
}
});
})
なぜ手動で 'fields'を手動で作成するのではなく、[serialize](http://api.jquery.com/serialize/)を使用してください。 – diEcho
よろしくお願いします。実際にサーバースクリプトが動作しました(電子メールが送信されました)が、まだTypeErrorエラーが表示されます。何が原因なのか? – BBB