问题:今天项目上有个地方使用 $(“#lamp”).load(‘/admin/checklogin.php?sid=’ sid); 这样传递的时候遇到空格就直接参数就丢失 后经查询资料发现可以使用encodeURIComponent(这里有三个函数可以对html进行编码,具体可以自行查找资料)解决问题;但是问题就又来了,如果传递内容过多呢?不能用get了!查询Jquery资料看到文档中有这样一句话: 默认使用 GET 方式 – 传递附加参数时自动转换为 POST 方式。jQuery 1.2 中,可以指定选择符,来筛选载入的 HTML 文档,DOM 中将仅插入筛选出的 HTML 代码。语法形如 “url #some > selector”。 也就是说:load也可以使用post方法传递,我就修改了两个地方代码即可 $(“#lamp”).load(‘/admin/checklogin.php’,{sid:sid}); 这样我接收参数就得使用$_POST[‘sid’]
附:尽量使用ajax使用post,当然不管你用$.post()或者$.load()也好,总之post数据会对一部分html元字符进行编码(个人喜欢$.post())