制作 Ajax 以将电子邮件推送到 MailChimp 列表但 URL 错误
Posted
技术标签:
【中文标题】制作 Ajax 以将电子邮件推送到 MailChimp 列表但 URL 错误【英文标题】:Making an Ajax to push email to MailChimp list but wrong url 【发布时间】:2017-04-22 06:51:47 【问题描述】:抱歉我的英语不好,我是 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 列表中。
但事情是这样的:
Pls click here to see image
我没有将我的电子邮件推送到 mailchimp
列表,我将其推送到我的本地,因此该电子邮件不包含在我的 Mailchimp 列表中。
任何人请帮我解决这个问题,我应该怎么做才能在 ajax 中更改 url
以使其正常工作?
谢谢大家。 蓬。
【问题讨论】:
【参考方案1】:最可能的原因是你在字符串的两边和内部都放了双引号,把你的网址改成这样:
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
);
【讨论】:
嗨@Yaser Adel Mehraban。非常感谢你的建议。我会尝试并在我回家后立即回复。 嗨@Yaser Adel Mehraban,我改变了你的建议,但结果还是一样。我认为这里的问题是我的 Ajax Url 的逻辑不正确。你有什么想法吗? 你可以试试替代方案@PhongNguyen以上是关于制作 Ajax 以将电子邮件推送到 MailChimp 列表但 URL 错误的主要内容,如果未能解决你的问题,请参考以下文章
如何授予 Git 'ForcePush' 权限以将 bfg-repo-cleaner 结果推送到 VSTS?
如何配置 Azure 服务总线队列以将消息推送到客户端而不进行轮询?
循环遍历两个对象数组以将匹配值推送到新数组在 React 中不起作用,但在 JS Fiddle 中起作用