我使用jquery get()函数发送数据。数据是包含可以包含/
,?
和"
等特殊字符的信息的数组。当发生这种情况时,我无法访问网址,因为这些字符破坏了链接。
我该如何解决?我这样做了:
function exemple()
{
$('.add').click(function(e)
{
var kitFamilia = $('#select-family').val();
var kitReference = $('#referenceinput').val();
var kitDescription = $('#descriptioninput').val();
var kitModel = $('#model-input').val();
var supplier = $('#select-supplier').val();
var details = [];
//alert(data);
details.push({stamp: stamp,family: kitFamilia, reference: kitReference, description: kitDescription, model: kitModel, supplier: supplier});
details = JSON.stringify(details, null, 2);
//alert(details);
$.get("/management-kit/create-kit/"+details, function(data)
{
location.reload();
});
e.preventDefault();
});
}
答案 0 :(得分:3)
您应该使用encodeURIComponent
$.get("/management-kit/create-kit/"+encodeURIComponent(details), ..
请记住,您发送的JSON编码为路径的一部分而不是参数。 (并且您可能还想删除JSON的2空格格式,因为它会使网址更长)