Javascript 防止通过ajax请求将对象原型函数与对象属性一起发送

Javascript 防止通过ajax请求将对象原型函数与对象属性一起发送,javascript,ajax,prototype,Javascript,Ajax,Prototype,我在js中定义了以下“类”,以及一些基本函数(代码简化): 我打算使用只包含Word实例的属性的AJAX请求将Word的一个具体实例传递给服务器,但我发现整个对象及其函数也会被发送,如var_dump所示: array(4) { ["name"]=> string(11) "to protrude" ["description"]=> string(29) " to stick out from a surface" ["solved"]=> strin

我在js中定义了以下“类”,以及一些基本函数(代码简化):

我打算使用只包含Word实例的属性的AJAX请求将Word的一个具体实例传递给服务器,但我发现整个对象及其函数也会被发送,如var_dump所示:

array(4) {
  ["name"]=>
  string(11) "to protrude"
  ["description"]=>
  string(29) " to stick out from a surface"
  ["solved"]=>
  string(1) "1"
  ["getPoints"]=>
  string(3) "NaN"
}
然后,在服务器端,word对象被转换成一个字符串,并写入到文档中,我实际上不需要这些函数。 我只想发送对象属性,即名称、描述、已解决,但不发送我定义的其他函数。 我想知道是否有比手动裁剪每个实例更简单的方法,无论是在客户端还是服务器端。我不喜欢那个“解决方案”,因为我必须用这些琐事函数中的每一个来安排裁剪算法

如果你能给我指出正确的方向,我会非常高兴。我已经广泛使用了搜索功能,但是我找不到任何东西,或者我找不到合适的词来框定我的问题。非常感谢。

如有帮助地指出的,将自动删除功能

您可以使用剥离函数,然后使用将字符串转换回对象


序列化对象的方式似乎有问题,因此如果需要帮助,必须发布相应的代码。还有,你是真的在使用Prototype.js,还是错误地将问题标记为Prototype.js?你是否也有错误:`this.solved=category`那么问题是什么呢<代码>变量x=新词(“a”、“b”、“c”);log(JSON.stringify(x))@epascarello,当然。错过了显而易见的解决方案。很好。我不知道stringify就是这么用的。“错误”是一个输入错误。@FelixKling,是的,将问题标记为prototype.js是一个错误。
array(4) {
  ["name"]=>
  string(11) "to protrude"
  ["description"]=>
  string(29) " to stick out from a surface"
  ["solved"]=>
  string(1) "1"
  ["getPoints"]=>
  string(3) "NaN"
}
var noFun = JSON.parse( JSON.stringify( lotsOfFun ) );