2012-10-31 15 views
1

我正在從jQuery發出Ajax請求。出於某種原因,當facetValue之間有空格時,它將被編碼爲加號。爲了獲得混合動力汽車作爲混合動力+汽車發送,正因爲如此,我的回報價值不算什麼。任何想法發生了什麼?傳遞給Ajax請求的參數將其空格替換爲加上


function fetchResults(facetname,facetValue){ 
    $.ajax({url:"usageSearch.jsp", 
    data:{searchquery:querystring,facetValue:facetValue,facetname:facetname}, 
    success:function(result){ 
     var usages=$.parseJSON(result);   
    }); 
} 
+1

空間必須在URL或請求主體進行編碼,所以這是正常的行爲。您的服務器端應該能夠相應地解碼數據。 –

回答

0

我會說,你的要求是通過GET嘗試使用POST發送:

$.ajax({url:"usageSearch.jsp", 
    type : 'POST', 
    data:{searchquery:querystring,facetValue:facetValue,facetname:facetname}, 
    success:function(result){ 
     var usages=$.parseJSON(result);   
    }); 
} 
0

數據被URL編碼,這是正常程序。在使用它之前,您必須解碼它。在PHP中,可以這樣進行:

$decoded_data = urldecode($rawdata); 
0

嘗試:

url:escape("usageSearch.jsp"), 

data:{searchquery:escape(querystring),facetValue:escape(facetValue),facetname:escape(facetname)} 
相關問題