メールを送信するためのWebサービスを含む外部ドメインにWebサービスがあります
jquery ajax を使用してクロスドメイン Web サービスを呼び出したいのですが、問題は成功値を取得できなかったことです。Web サービスが正常に実行され、メールが送信されてもエラーになります。
firebug (Net タブ) をチェックインし、実行中に ?callback=[some jump function] を追加しましたが、その関数が見つからないため、適切なメッセージが表示されません。
以下は私のウェブメソッドです[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public string SendMail()
{
    string returnVal = string.Empty;
    try
    {
        MailMessage message = new MailMessage();
        message.From = new MailAddress("[from]");
        message.To.Add("[to]");
        message.Subject = "TEST";
        message.Body = "TEST MAIL";
        message.Priority = MailPriority.High;
        SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
        client.EnableSsl = true;
        client.Credentials = new NetworkCredential("[username]", "[password]");
        client.Send(message);
        returnVal = "[mycallback]({'status':'Success'})";
    }
    catch (System.Exception ex) { returnVal = "[mycallback]({'status':'Fail Reason: " + ex.Message + "'})"; }
    return returnVal;
}
以下は私のajax jquery呼び出しです
    $(document).ready(function(){
            $.ajax({
                type:"GET",
                url:"http://audiomedia.dev.asentechdev1.com/MailSender.asmx/SendMail",
                dataType:"jsonp",
                jsonpCallback: 'mycallback',
                success: function(data){
                    alert(json.Parse(data));
                },
                error: function (data) {
                    alert("Error: " + data.responseText);
                }   
            });
            function mycallback(data){
                alert("CallBack: " + JSON.stringify(data));
            }
        });
戻り値を変更してコールバックを追加すると、サーバーからの返信
が少なくなりますが、メールを正常に送信した後でもエラーコールバックになります。成功メッセージをフォーマットする方法を教えてください。