1

我正在从 jQuery 发出 Ajax 请求。由于某种原因,当 facetValue 之间有空格时,它被编码为加号。对于获取混合动力汽车作为混合动力+汽车发送,因此我的返回值什么都没有。知道发生了什么吗?


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

3 回答 3

0

我会说您的请求是通过 GET 尝试使用 POST 发送的:

$.ajax({url:"usageSearch.jsp",
    type : 'POST',
    data:{searchquery:querystring,facetValue:facetValue,facetname:facetname},
    success:function(result){
      var usages=$.parseJSON(result);           
    });
}
于 2012-10-31T19:21:40.437 回答
0

正在对数据进行 url 编码,这是正常程序。您必须在使用它之前对其进行解码。在 PHP 中可以这样做:

$decoded_data = urldecode( $rawdata );
于 2012-10-31T19:22:07.417 回答
0

尝试:

url:escape("usageSearch.jsp"),

data:{searchquery:escape(querystring),facetValue:escape(facetValue),facetname:escape(facetname)}
于 2012-10-31T19:22:09.067 回答