Php JQuery don';我无法识别我的(格式正确的)HTML标记。可能的物料清单
当我试图解释来自Apache服务器的AJAX响应时,Jquery打印语法错误。 该文件以php打印,Smarty作为模板引擎 下面是“bug”的一个简单的最小工作示例(来自chromium javascript终端)Php JQuery don';我无法识别我的(格式正确的)HTML标记。可能的物料清单,php,javascript,gedit,byte-order-mark,Php,Javascript,Gedit,Byte Order Mark,当我试图解释来自Apache服务器的AJAX响应时,Jquery打印语法错误。 该文件以php打印,Smarty作为模板引擎 下面是“bug”的一个简单的最小工作示例(来自chromium javascript终端) 我从未与smarty合作过,但我有一些想法,也许它们可以帮助你找到问题。在我看来,这更像是一个smarty/php错误 在浏览器中打开帖子url时会发生什么?它是否显示了同样的问题 我不知道smarty有多敏感。。。您使用什么DOCTYPE。。。如果是HTML5,则输入标记没有结
我从未与smarty合作过,但我有一些想法,也许它们可以帮助你找到问题。在我看来,这更像是一个smarty/php错误
- 在浏览器中打开帖子url时会发生什么?它是否显示了同样的问题
- 我不知道smarty有多敏感。。。您使用什么DOCTYPE。。。如果是HTML5,则输入标记没有结束符
斜杠/
- 也许您想分享一些生成html的php
JQuery()
函数($()
)不喜欢以换行符开头的字符串作为提要。一个简单的trim()
——比如regex.replace()
解决了这个问题。谢谢大家的帮助。如果您执行console.log(ans)
,您会看到什么?尝试显式指定数据类型$.post('newtasklist',{name:'hello'},函数(ans){console.log($(ans))},'html')
@Pointy,它打印正确的字符串。@ArunPJohny,它不起作用。查看我的编辑。您可以使用浏览器的网络选项卡检查ajax请求,并查看响应的内容类型和响应文本吗
> $.post('newtasklist',{name: 'hello'},function(ans){console.log($(ans))})
XHR finished loading: "http://localhost/narasimha/newtasklist". jquery-1.9.1.js:8526
Uncaught Error: Syntax error, unrecognized expression: <li><a><input type="hidden" class="listid" value="4" />hello(0)</a></li>
> $.post('newtasklist',{name: 'salut'},function(ans){
console.log('ans : ', ans);
console.log('n_ans : ', ans.length);})
ans :
<li><a><input type="hidden" class="listid" value="13" />salut(0)</a></li>
n_ans : 75
> '<li><a><input type="hidden" class="listid" value="13" />salut(0)</a></li>'
.length
73