我想讓腳本通過使用PHP頭函數來單擊提交按鈕來進行重定向。但是,它似乎並不奏效。任何想法如何讓它與PHP頭功能一起工作?表單提交時PHP頭重定向不起作用
下面是我想到的部分功能是相關的: -
switch ($service) {
case 'mailchimp' :
$lastname = sanitize_text_field($_POST['et_lastname']);
$email = array('email' => $email);
if (! class_exists('MailChimp'))
require_once(get_template_directory() . '/includes/subscription/mailchimp/mailchimp.php');
$mailchimp_api_key = et_get_option('divi_mailchimp_api_key');
if ('' === $mailchimp_api_key) die(json_encode(array('error' => __('Configuration error: api key is not defined', 'Divi'))));
$mailchimp = new MailChimp($mailchimp_api_key);
$merge_vars = array(
'FNAME' => $firstname,
'LNAME' => $lastname,
);
$retval = $mailchimp->call('lists/subscribe', array(
'id' => $list_id,
'email' => $email,
'merge_vars' => $merge_vars,
));
if (isset($retval['error'])) {
if ('214' == $retval['code']){
$error_message = str_replace('Click here to update your profile.', '', $retval['error']);
$result = json_encode(array('success' => $error_message));
} else {
$result = json_encode(array('success' => $retval['error']));
}
} else {
$result = json_encode(array('success' => $success_message));
}
die($result);
break;
我試圖取代$result
與header("Location: http://www.example.com/");
,但沒有奏效。
您是否通過AJAX調用此PHP腳本?如果是這樣,你應該返回類似'array('success'=> true,'location'=>'http:// ...')'並且在你的ajax回調中做重定向。 – Bjorn
@Bjorn,是否應該替換$ result = json_encode(array('success'=> $ success_message)); $ result = json_encode(array('success'=> true,'location'=>'http://www.example.com')); ? –
@Bjorn它返回true,但沒有進行重定向。通過AJAX。 –