我是网络服务的新手,并尝试从html页面调用web服务,这给我发出以下错误“命中错误fn![object Object]”并且无法将邮件发送到所需的电子邮件地址。请告诉我,这是错误的吗?
function test() {
var firstname=$('#txtName').val();
var lastname =$('#txtMessage').val();
var Email=$('#txtEmail').val();
$.ajax({ url: "http://localhost/ZeroDebt/WsZeroDebtApp.asmx/SendEmailToClient",
data: { _fromAddress: JSON.stringify(Email),_Subject:JSON.stringify("Zero Debt App Invitation Request"),_body:JSON.stringify(firstname +' '+lastname), clientName: JSON.stringify('Dr. Hanoi'), clientEmail: JSON.stringify('abc@xyz.net') },
dataType: "jsonp",
success: function(data) {
alert(data);
},
error: function(error) {
alert("Hit error fn!" + error);
}
});
}
答案 0 :(得分:0)
我可以建议改写吗? (请自己测试)
var SENDMAIL_URL = "http://localhost/ZeroDebt/WsZeroDebtApp.asmx/SendEmailToClient"
function test() {
var firstname = $('#txtName').val(),
lastname = $('#txtMessage').val(),
email = $('#txtEmail').val();
var data = JSON.stringify({
_fromAddress: email,
_Subject: "Zero Debt App Invitation Request",
_body: firstname + ' ' + lastname,
_clientName: 'Dr. Hanoi',
clientEmail: 'abc@xyz.net'
});
function notify( args ) {
console.log( args );
}
function onSuccess( data ) {
notify( data );
}
function onError( error ) {
notify( "Hit error fn!" ); // Important to seperate string from Object
notify( error );
}
$.ajax({
url: SENDMAIL_URL,
data: data,
dataType: "jsonp",
success: onSuccess,
error: onError
});
}
此外,将URL设为常量字符串并将URL保持在一起(比滚动代码更容易配置)是可维护的。
答案 1 :(得分:0)
最后,我找到了解决方案。我唯一需要做的就是给客户端电子邮件参数发送电子邮件,该参数不是字符串格式。写abc@xyz.com而不是“abc@xyz.com”。
正确的情况是: data:{_ fromAddress:JSON.stringify(Email),_ Subject:JSON.stringify(“Zero Debt App Invitation Request”),_ body:JSON.stringify(firstname +''+ lastname),clientName:JSON.stringify('Dr。 Hanoi'),clientEmail:abc@xyz.net}