AJAX URL String在变量之间添加空格

时间:2014-01-14 17:30:58

标签: javascript ajax

我正在尝试使用带有ajax调用的'GET',但是url会在params之间添加空格

这是我的功能

    function getLocation(id,clientid){

        var formData ={
                'locationid'            :   id,
                'clientbrandid'         :   clientid
            }

        var ajaxResponse = $.ajax({
                type : 'GET', // define the type of HTTP verb we want to use (GET for our form)
                url  : '/../admin/miscellaneous/components/global.cfc?wsdl&method=locationData', // the url where we want to GET
                data : JSON.stringify( formData ),
                contentType  : 'application/json',
                error  : function(data,status,error){
                        console.log(data+': '+status+': '+error);
                    },
                success :  function clientData(pair){
                        $.each(pair,function( intI, strWord ){
                    $("input[id=editlocationName]").val(strWord.locationname);
                    });
                    }   
            }).done(function(apiResponse) {
                    $('#response').append(apiResponse);
            });
}

这是正常的,除了URL看起来像这样

http://somesite.com/admin/global.cfc?wsdl&method=locationData&{%22locationid%22:%222008013110482896439177%22,%22clientbrandid%22:%2235%22}

而不是

http://somesite.com/admin/global.cfc?wsdl&method=locationData&locationid=2896439177&clientbrandid=35

有人看到我的ajax电话有问题吗?

1 个答案:

答案 0 :(得分:2)

您正在将表单数据转换为JSON而不是URL编码。

jQuery内置了URL编码数据的例程,如果你传递一个对象而不是一个字符串,它将使用它。

更改为:

data        : formData,