我通过jQuery与基本的$ .ajax()执行异步HTTP(Ajax)请求。代码如下所示:
$("textarea").blur(function(){ var thisId = $(this).attr("id"); var thisValue = $(this).val(); $.ajax({ type: "POST",url: "some.PHP",data: "id=" + thisId + "&value=" + thisValue,success: function(){ alert( "Saved successfully!" ); } }); });
一切都像往常一样正常工作,直到用户在textarea&(&)字符内输入内容。比我调试PHP函数时,它保存的值,它总是有一个值,直到这个字符。
我相信有一个解决方案来跳过和号(&)不知何故。有任何想法吗?
解决方法
代替:
data: "id=" + thisId + "&value=" + thisValue
做:
data: { id: thisId,value: thisValue }
这种方式jquery将处理正确的URL编码的值。字符串连接是所有邪恶的根源:-)