2016-12-07 1 views
0

私の悪い英語と私はAjaxの初心者です。MailChimpのリストにメールをプッシュするAjaxを作るが間違ったURL

私はAjaxを作成してMailChimpリストにメールをプッシュしようとしましたが、ボタンのサブクラスをクリックすると、私のAjaxのURLが間違っていることがわかりました。ここで

詳細:

マイコントローラー:

public class MailChimpController : UmbracoApiController 
    { 
     private static readonly MailChimpManager Manager = new MailChimpManager(); 

    [HttpPost] 
    public async Task<Member> CreateOrUpdateMember(string listID, string emailAddress) 
    { 
     var member = new Member 
     { 
      EmailAddress = emailAddress, 
      Status = Status.Pending, 
      EmailType = "html", 
      TimestampSignup = DateTime.UtcNow.ToString("s") 
     }; 
     var result = await Manager.Members.AddOrUpdateAsync(listID, member); 
     return result;  
    } 
} 

マイHTML:

<input type="text" class="email-input"> 
<button type="button" class="button-subscribe">Subscribe</button> 

そして最後に1:私のAjax:

$(document).ready(function() { 

    var pattern = /^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|asia|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i; 

    $("button").click(function(){ 
     var _emailAddress = $("input.email-input").val(); 
     if (_emailAddress == "" || !pattern.test(_emailAddress)) { 
      message = "Email is invalid"; 
      alert(message) 
      return false; 
     } 
     if (pattern.test(_emailAddress)) 
     { 
      $.ajax({ 
       type: "POST", 
       url: "@Url.Action("CreateOrUpdateMember","MailChimp")", 
       data: { 
        listID: "4f8083915d", 
        emailAddress: _emailAddress 
       }, 
       encode : true, 
       success: function() { 
        alert("You have successfully subscribed, please check your email to confirm !"); 
       }, 
       error: function() { 
        alert("Something wrong, you have not subscribed yet. Please do again !"); 
       } 
      }); 
     } 
    }); 
}); 

私が期待したもの:入力された電子メールinputは私のMailChimpリストに追加されます。

しかし、ここでの事:

Pls click here to see image

私はmailchimpリストに私の電子メールをプッシュしていなかった、私は私の地元にそれをプッシュので、電子メールが私のMailchimpリストに含まれていませんでした。

誰でも助けてください、私はそれを動作させるためにajaxのurlを変更する際に何をすべきですか?

ありがとうございます。 Phong。

url: '<%= Url.Action("CreateOrUpdateMember", "MailChimp") %>' 

OR

url: '@Url.Action("CreateOrUpdateMember", "MailChimp")' 

UPDATE:

答えて

0

最も可能性の高い理由は、あなたがこのような何かにあなたのURLを変更するだけでなく両側に、文字列内の二重引用符を置くということです

Asp.Netがあなたのために右urlを作成しなかった場合は、次のように入力してください:

$.ajax 
({ 
    type: "POST", 
    url: "/MailChimp/CreateOrUpdateMember/", 
    dataType: 'json', 
    data: { 
     listID: "4f8083915d", 
     emailAddress: _emailAddress 
    } 
}); 
+0

こんにちは@Yel Adel Mehraban。 お寄せいただきありがとうございます。私はそれを試し、私が家に帰るとすぐに返信します。 –

+0

こんにちは@Yaser Adel Mehraban、 私はyorの提案のように変更されましたが、結果はまだ同じでした。ここの問題は、私のAjaxの誤ったロジックだと思います。 ご存知ですか? –

+0

あなたは代わりに@PhongNguyenを試すことができますか – Yaser

関連する問題