制作Ajax将电子邮件推送到MailChimp列表但错误的URL

时间:2016-12-07 10:55:39

标签: jquery html ajax mailchimp mailchimp-api-v3.0

抱歉我的英语不好,我是阿贾克斯的新手。

我尝试创建一个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>

最后一个:我的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。

1 个答案:

答案 0 :(得分:0)

最可能的原因是你在字符串的两边和内部都加了双引号,将你的网址更改为:

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

OR

Asp.Net

更新:

如果url没有为您创建正确的$.ajax ({ type: "POST", url: "/MailChimp/CreateOrUpdateMember/", dataType: 'json', data: { listID: "4f8083915d", emailAddress: _emailAddress } }); ,请尝试以下操作:

{{1}}