jQuery ajax请求后自动带上空的query字符串,如何去除?

http://localhost:8087/api/tenantcalls/f32b29a3-90ab-46be-a9c2-ea9e184cc243/recordings?%22%22

这个地址后面的?%22%22是怎么加上去的? 怎么去掉?
我写的源代码如下

App.addMethod('_sendRequest',function(method,path,payload){
    var dfd = $.Deferred();
    $.ajax({
        url:path,
        type:method || "get",
        headers:{
            sessionId:session.id || ''
        },
        data:JSON.stringify(payload || ""),
        dataType:"json",
        contentType : 'application/json; charset=UTF-8',
        success:function(data){
            dfd.resolve(data);
        },
        error:function(data){
            dfd.reject(data);
        }
    });
    return dfd.promise();
});

//根据callId查询录音文件
App.addMethod('_getRecordingsByCallId',function(callId){
    var dfd = $.Deferred(),
        method = 'get',
        path = '/api/tenantcalls/'+callId+'/recordings',
        payload = '';

    App._sendRequest(method,path,payload)
    .done(function(res){dfd.resolve(res);})
    .fail(function(res){dfd.reject(res);});

    return dfd.promise();
});
阅读 2.9k
2 个回答
data:JSON.stringify(payload || "")

应该是这一句的锅。既然payload是空字符串,为什么还要它?

正则表达式去掉
url.replace(/?.*/, '')

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题