【问题标题】:The url automatically prepends symbol ? when using $.ajaxurl 自动添加符号?使用 $.ajax 时
【发布时间】:2015-05-10 11:32:38
【问题描述】:

我在使用 $.ajax() 和 Yii2 时遇到了一些问题。 url 自动在参数/数据之前添加? 符号。

代码如下:

$.ajax({
    url: '<?php echo Yii::app()->baseUrl; ?>/room/BillPayment',
    data: DATA,
    traditional: true,
    success: function (data) {

现在我的网址变成:http://localhost/testdata/room/billpayment?,后跟参数。但最终结果是它给出了错误 Bad request

那么如何删除? 符号?

【问题讨论】:

    标签: jquery ajax yii yii2


    【解决方案1】:

    这是在查询字符串中传递参数的正确语法,有关详细信息,请参阅http://en.wikipedia.org/wiki/Query_string

    因此,如果您不想要 ?,请不要传递参数,而是构建您自己的完整 URL。

    【讨论】:

      【解决方案2】:

      请求类型为GET是完全正常的。

      Bad Request的常见原因:

      1)缺少必需的控制器操作参数。

      2) 错误的请求类型(例如GET 而不是POST),通常在附加VerbFilter 时发生。

      3) 错过了 CSRF 令牌。例如,通常在使用 AngularJs 时会发生这种情况。

      您可以将请求类型更改为POST,但如果您正在修改某些内容,建议您使用GET获取数据完全可以。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-10-01
        • 1970-01-01
        • 2016-05-25
        • 2020-09-08
        • 1970-01-01
        • 1970-01-01
        • 2019-12-02
        相关资源
        最近更新 更多