我正在使用基本的$ .ajax()通过jQuery执行异步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编码。字符串串联是万恶之源:-)

08-18 21:58