我在 PHP 中使用了 knockout.js,我正在尝试发出一个 GET 请求,然后返回一个 HTML/knockout 表单。这样做的原因是因为表单将被其他人使用,而不是复制/粘贴相当大的代码块,它只是向我的服务器发出请求而返回 HTML/knockout 的代码更少。
//code on another server to request form from my server
$.ajax({
//request here
})
</script>
<div id = "update_div">
<!--form data goes here when received -->
</div>
现在,这是我服务器上的代码。问题出在哪里,因为我必须使用 php 回显并且我正在返回文本,所以我需要在我正在回显的文本周围使用单引号或双引号。但是,我使用了 knockout.js 和一个需要单引号和双引号的 knockout.js 验证插件,基本上取消了环绕回声的引号。
例如,
<?
if($_GET['something']){
echo '
<tr>
<td>Full Name</td>
<td><span data-bind="validationOptions: { insertMessages: false}">
<input type="text" data-bind="value: fullName, valueUpdate: 'afterkeydown'"/></span></td>
<td data-bind="validationMessage: fullName"></td>
</tr>
';
}
?>
具体导致问题的行是
<input type="text" data-bind="value: fullName, valueUpdate: 'afterkeydown'"/></span></td>
返回的错误是
Parse error: syntax error, unexpected 'afterkeydown' (T_STRING)
当我回显时,我使用单引号,因为我想将其作为文本返回,但是,在其中我需要对不同的元素使用单引号和双引号。有没有解决的办法?