网址会自动添加符号吗?使用$ .ajax时

时间:2015-05-10 11:32:39

标签: jquery ajax yii yii2

$.ajax()与Yii2一起使用时,我遇到了一些问题。该网址会在参数/数据之前自动添加?符号。

代码如下:

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

现在我的网址变为:http://localhost/testdata/room/billpayment?后跟params。但最终结果是它会将错误视为错误请求

那么如何删除?符号?

2 个答案:

答案 0 :(得分:1)

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

所以,如果您不想要?,请不要传递参数,而是建立自己的完整网址。

答案 1 :(得分:0)

如果请求类型为GET,则完全正常。

Bad Request的常见原因:

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

2)错误的请求类型(例如GET而不是POST),通常会附加VerbFilter

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

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