对不起,我的英语不好,我是ajax的新手。
我尝试创建一个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列表中。
但是这里的东西:
请单击此处查看图像
我没有将电子邮件推到mailchimp
列表,而是将其推入本地,因此电子邮件未包含在我的MailChimp列表中。
有人请帮助我,我应该在更改Ajax的url
以使其起作用?
谢谢家伙。phong。
最可能的原因是,您在两侧和字符串内都添加双引号,将URL更改为类似的东西:
url: '<%= Url.Action("CreateOrUpdateMember", "MailChimp") %>'
或
url: '@Url.Action("CreateOrUpdateMember", "MailChimp")'
更新:
如果Asp.Net
没有为您创建正确的url
,请尝试以下操作:
$.ajax
({
type: "POST",
url: "/MailChimp/CreateOrUpdateMember/",
dataType: 'json',
data: {
listID: "4f8083915d",
emailAddress: _emailAddress
}
});