SilverStripe - 未通过AJAX成功将JavaScript变量发送到Page.php

时间:2017-07-28 20:59:13

标签: javascript php ajax silverstripe

我正在尝试将模板中的JavaScript变量发送到Page.php中名为“getMemberships”的函数,但在尝试使其工作时遇到了很多麻烦。

我知道JavaScript函数ssCallBack确实有效,并从SharpSpring获取用户信息。我知道如果您在此处对电子邮件进行硬编码,则getMemberships功能会起作用:

$lists = $this->sharpSpringService->makeCall('getListMemberships', [
   'emailAddress' => 'youremail@site.com',
 ]);

我知道您可以使用AJAX向PHP提交JavaScript数据,我已经设置并尝试使用各种设置(尝试过dataType:'json',dataType:'jsonP',dataType:'html')但是,在{ {1}},getMemberships始终为空数组($this->getRequest()->postVars('contactemail'))。我无法弄清楚为什么会这样。

在Page.ss文件中:

$contactEmail = {array}[0]
function ssCallBack(resp) { if (typeof resp.contact != 'undefined') { //this contact exists in SharpSpring console.log(resp.contact['Email']); var isSubscribed = false; var contactEmail = resp.contact['Email']; console.log(contactEmail); $.ajax({ type: "POST", url: "/home/getMemberships", data: { contactemail:contactEmail } }).done(function (response) { for (var i = 0; i < response.length; i++) { console.log(response[i].status); var status = response[i].status; var list = response[i].list; if (status == "true") { if(list =="PositionistView"){ isSubscribedToPV = true; } } } }); }

中的

Page.php

1 个答案:

答案 0 :(得分:1)

你想要postVar('contactemail')postVars()返回所有发布变量。