[英]How to implement E-mail success callback for send mail method for phonegap(android/iphone)
[英]E-mail sucessfully sent via AJAX POST but error callback triggered instead of success callback
我正在使用AJAX發送電子郵件,並且可以正常工作,電子郵件已發送給我的收件人。 但是,我不明白的是,盡管發送了電子郵件,但為什么AJAX的success
回調未觸發。 相反,將觸發error
回調。
顯然這不是CORS問題,因為我在AJAX的url
參數中使用了同一服務器。 此外,Google Dev Tools未報告任何問題,並顯示200 OK
。
JS代碼:
$(document).ready(function(){
$(".js-validate-2").validate({
ignore: ":hidden",
rules: {
//something
},
messages: {
//something
},
submitHandler: function(form) {
var recipient = "myEmailTest@gmail.com"
var specifiedProduct = "PRODUCT: " + $('#specifiedProduct').val();
var msg = $('#msg').val();
var phone = "TEL: " + $('#phone').val() + ". ";
var params = {
"email": recipient,
"subject": specifiedProduct,
"body": msg + phone,
};
var sendingToSupport = $.ajax({
url: 'http://myServer/u/support/message',
data: JSON.stringify(params),
type: 'POST',
dataType: 'json',
contentType: 'application/json',
success: function(data) {
console.log("Huge success");
console.log(params);
console.log(data);
alert("Successfully sent!");
},
error: function(data) {
console.log("Huge failure");
console.log(params);
console.log(data);
alert("We apologize for an error!");
$(".support-form").find("input[type=text], textarea").val("");
}
});
}
})
})
因此,此問題是由以下代碼引起的:
dataType: 'json',
表示AJAX調用返回的數據將為JSON格式。 因此,jQuery將嘗試解析那些數據。
就我而言,刪除此代碼很有幫助,並且成功發送了AJAX調用,並返回了正確的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.