难以让knockout.js与PHP一起工作

时间:2012-12-13 01:06:48

标签: php javascript knockout.js

我按照了knockout.js网站上的一个基本教程,现在我只是想让它在localhost上运行。在头部,我已经包含两个文件:knockout.js和misc_form.js。

<head>
<script src="/knockout.js"></script>
<script src="/misc_form.js"></script>
</head>

我将省略misc_form.js的代码,因为我没有修改它,它在live knockout.js教程中100%工作。

这是HTML

//form.php
function display_form(){
?>
<table>
    <thead><tr>
    <th>Passenger name</th><th>Meal</th><th>Surcharge</th><th></th>
    </tr></thead>
    <!-- Todo: Generate table body -->
    <tbody data-bind="foreach: seats">
    <tr>
        <td><input data-bind="value: name" /></td>
        <td><select data-bind="options: $root.availableMeals, value: meal, optionsText: 'mealName'"></select></td>
        <td data-bind="text: formattedPrice"></td>
        <td><a href="#" data-bind="click: $root.removeSeat">Remove</a></td>
    </tr>       
</tbody>
</table>
<button data-bind="click: addSeat">Reserve another seat</button>
 <?
 }

编辑 - 我更改了文件的路径,现在我收到以下错误

Uncaught TypeError: Cannot read property 'nodeType' of null  //in reference to knockout.js

1 个答案:

答案 0 :(得分:1)

检查脚本文件的路径,看起来很奇怪。尝试在网络浏览器中访问http://localhost/Applications/XAMPP/xamppfiles/htdocs/misc_form.js,您看到了JavaScript代码吗?

从网址中,我猜他们应该是:

<head>
<script src="/knockout.js"></script>
<script src="/misc_form.js"></script>
</head>

因为htdocs可能是提交为/的文件夹。