这是场景:我有一个带有几个复选框的联系表:
<input type="text" name="cola[]" value="coke" />
<input type="text" name="cola[]" value="pepsi" />
<input type="text" name="cola[]" value="rc" />
使用 jQuery 的序列化,我将数据字符串发送给我mailer.php
,如下所示:
$.ajax({
type: "POST",
url: "http://mydomain.com/mailer",
data: dataString,
success: function() {//some function}
});
.php
请注意,由于 htaccess 重写规则,我不得不从 URL 中省略扩展名。如果选中所有 3 个复选框,则数据字符串如下所示:&cola=coke&cola=pepsi&cola=rc
。我使用console.log
.
mailer.php
看起来像这样:
$cola = $_POST["cola"];
// other code
$message = "<p>" . $cola . "</p>";
// code to mail it out
但是,在成功邮寄后,电子邮件正文仅显示“Array”,而不是“cola, pepsi, rc”。
我感觉这可能与我在 htaccess 中的重写条件有关,如下所示:
RewriteEngine On
# Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://example.com/folder/$1 [R=301,L]
# Redirect external .php requests to extensionless url
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://example.com/folder/$1 [R=301,L]
# Resolve .php file for extensionless php urls
RewriteRule ^([^/.]+)$ $1.php [L]
我的重写条件是/
从 URL 中删除任何尾随并清除 .php 文件扩展名,以便 url 看起来像:domain.com/pretty
谁能帮我诊断为什么我收到消息“数组”而不是数组内容?谢谢!