post ajax只能在最后使用反斜杠

时间:2017-12-31 03:38:55

标签: ajax wordpress post backslash

我的wordpress有一个json端点。我需要通过url和post发送参数。

这有效:http://<mydomain>/wordpress/?my_action=getBooks

这不是:http://<mydomain>/wordpress?my_action=getBooks

如果我没有反斜杠发送,则服务器端缺少post参数。 为什么我需要这个反斜杠?

jQuery.ajax({
            url: 'http://<mydomain>/wordpress/?my_action=getBooks',
            method: 'POST',
            data: {test: 'abc' },
        }).done(function (data) {
            <do something>
        }.bind(this));

1 个答案:

答案 0 :(得分:0)

这是一个正斜杠,而不是反斜杠。反斜杠向后倾斜(\),正斜杠向前倾斜(/)。

Wordpress重写默认使用尾部斜杠。我想对你的.htaccess进行调整(假设你正在使用apache)应该删除它。

我没有对此进行过测试,但可能会有效。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]

    RewriteRule (.+)/$ $1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>