簡體   English   中英

Ajax調用和返回的響應

[英]Ajax Call and Returned Response

我正在嘗試將地址添加到dotmailer的列表中(對於那些不熟悉的人來說是像mailchimp之類的服務),我可以添加地址,但正努力通過Ajax獲取任何形式的返回狀態。

我在php的表單頁面中有以下內容

var emailEntered;

    $(document).ready(function() {

        $.fn.search = function() {
            return this.focus(function() {
                if( this.value == this.defaultValue ) {
                    this.value = "";
                }
            }).blur(function() {
                if( !this.value.length ) {
                    this.value = this.defaultValue;
                }
            });
        };
        $("#email").search();

        $("#sendButton").click(function() {
                $(".error").hide();
                var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
                var emailaddressVal = $("#email").val();

                if(emailaddressVal == '') {
                    $("#message").html('<span class="error">Enter your email address before submitting.</span>');
                    return false; 
                }
                else if(!emailReg.test(emailaddressVal)) {
                    $("#message").html("<span class='error'>Please check your email address.</span>");
                    return false; 
                } 
                else {
                    emailEntered = escape($('#email').val());
                }

        });
        $('#signup').submit(function() {
            $("#message").html("<span class='error'>Adding your email address...</span>");
            $.ajax({
                url: 'dotmailerInput.php',
                data: 'ajax=true&email=' + emailEntered,
                success: function(msg) {
                    $('#message').html(msg);
                }
            });
            return false;
        });

    });
</script>

<form id="signup" action="dotmailer.php" method="get">
                <input type="email" name="email" id="email" class="textinput" value="Enter" />
                <input type="submit" id="sendButton" name="submit" class="textinput" value="" />
            </form>
            <div id="message"> </div>

在它引用的dotmailer.php頁面中,我得到了以下內容。 我可以看到它給了我一個“添加您的電子郵件地址”的響應,但是此后,我所說的電子郵件正確添加了。

$email = $_GET['email'];    
$username = ""; //apiusername
$password = ""; //api password      
$addressbookid = ;
$AudienceType = "Unknown";
$OptInType = "Unknown";
$EmailType = "Html";


try {

$client = new SoapClient("http://apiconnector.com/api.asmx?WSDL");
$contact = array("Email" => $email,"AudienceType" => $AudienceType, "OptInType" => $OptInType, "EmailType" => $EmailType, "ID" => -1);

$dotParams = array("username" => $username, "password" => $password, "contact" => $contact, "addressbookId" => $addressbookid);
$result = $client->AddContactToAddressBook($dotParams);
return "Success";
}
catch (Exception $e) {
return "Error";
}

任何關於看什么或下一步去的幫助或技巧將不勝感激。

克里斯

嘗試使用echo而不是return因為您處於PHP的頂層,並且將使用此方法進行輸出(而不是return將函數賦予值)。

echo "Success";
}
catch (Exception $e) {
echo "Error";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM