Coldfusion 将CF2016迁移到CF2018,远程jquery ajax调用现在失败
我们有一套远程访问的CFC。当我们在CF2016上使用returntype=“any”或returntype=“string”和returnformat=“plain”时,在检查用户名是否正在使用时,jqueryvalidate可以很好地工作。现在,如果用户名正在使用中,我们会正确地收到一条错误消息,说明这一点。但是,当用户名可用时,它将验证为无效,并将CFC的响应(“TRUE”)作为错误消息传递给浏览器。从文档中看,它没有将响应视为json true: 服务器端响应必须是JSON字符串,对于有效元素,该字符串必须为“true”;对于无效元素,该字符串可以为“false”、未定义或null,使用默认错误消息。如果服务器端响应是一个字符串,例如“已使用该名称,请改用peter123”,则此字符串将显示为自定义错误消息,而不是默认值Coldfusion 将CF2016迁移到CF2018,远程jquery ajax调用现在失败,coldfusion,jquery-validate,Coldfusion,Jquery Validate,我们有一套远程访问的CFC。当我们在CF2016上使用returntype=“any”或returntype=“string”和returnformat=“plain”时,在检查用户名是否正在使用时,jqueryvalidate可以很好地工作。现在,如果用户名正在使用中,我们会正确地收到一条错误消息,说明这一点。但是,当用户名可用时,它将验证为无效,并将CFC的响应(“TRUE”)作为错误消息传递给浏览器。从文档中看,它没有将响应视为json true: 服务器端响应必须是JSON字符串,对于有
我尝试将CFC更改为returntype=“json”,并将serializeJSON()添加到返回的数据中,作为可用用户名验证的内容只显示“TRUE”,因此验证失败。服务器是否返回
“TRUE”
、TRUE
或TRUE
?只有true
是有效的JSON boolean.true或“true”。明天还要做更多的研究。我帮助编写了这部分文档。当一个字符串被回显时,插件就会工作<代码>“true”应该可以工作,“true”
不需要JSON编码。换句话说,对于PHP,echo“true”
的工作原理与echo json\u encode(“true”)
的工作原理相同。我不知道ColdFusion中对应的代码是什么。显示实际的代码。您回显
响应,而不是返回
。响应是一个JSON编码的字符串。