2013-09-30 37 views
0

我對mailchimp比較陌生,並且一直使用這篇文章實現一個非常簡單的電子郵件捕獲表單,該表單將重定向到提交時的新着陸頁。我一直用這個帖子: using an existing form to send data to mailchimp, then redirectmailchimp所需的更多API示例 - 發送數據然後重定向

我明白在後一切,除了我需要一個例子對於這一說法:

「不過,如果你想重定向,你只需改變你的jQuery的AJAX功能這樣做。「

有人可以提供一個如何改變jQuery ajax函數的例子嗎?此外,我不需要它返回成功或失敗消息,我只需要它來捕獲名稱/電子郵件,然後立即重定向到下一頁。

感謝

回答

0

斯帕克是說,你可以修改AJAX的success功能是提交功能捆綁,形成$('#signup')的一部分。

即,目前成功的功能是:

... 
success: function(msg) { 
     $('#message').html(msg); 
    } 
... 

而且你可以只更新到重定向做這樣的事情:

... 
success: function(msg) { 
     document.location = '/target/path/file.html'; 
    } 
... 

編輯 - 做上述會將瀏覽器重定向 - 只要AJAX調用是成功的(不一定API調用是成功的。)所以,即使PHP返回消息中的錯誤 - 成功函數被調用,因爲它指的是AJAX調用本身的成功。

如果您只想重定向PHP文件返回的成功消息,則必須檢查傳入的消息並進行相應的處理。

... 
success: function(msg) { 
    if (msg.indexOf('Success') != -1) { 
    document.location = '/target/path/file.html'; 
    } else { 
    $('#message').html(msg); 
    } 
} 
... 

這將重定向從PHP文件成功消息返回瀏覽器,否則會顯示在$消息(「#消息」)。

+0

Joel感謝您的快速回復。我還需要在store-address.php文件中更改任何內容嗎?現在,PHP設置爲驗證電子郵件,並向用戶顯示錯誤或成功消息。我並不需要顯示任何消息,只需要將電子郵件發送到我的mailchimp列表中,並將其重定向到下一頁。我想當我更新ajax時,它必須與PHP衝突,因爲它不再存儲地址。 – user2832002

+0

需要...在答案中查看我的編輯。 AJAX的成功僅僅意味着AJAX調用是成功的 - 其中包含的消息很好包含錯誤字符串。 – Joel

相關問題