0

我是 Microsoft asp.net web.api 应用程序的新用户。我正在尝试一个我定义了 EmployeeController.cs 的虚拟项目,其中有一种在数据库中插入员工的方法。

 // POST api/<controller>
public void Post(EmployeeInfo empObj)
{
    objEmployeeDal.InsertEmployee(empObj);
}

在 Employee.js 文件中,我尝试使用 post 方法访问 web.api 以插入数据。

  $('#btnAddEmployee').bind('click', function () {
    try {

        //Declare Object
        var Emp = {};
        Emp.firstName = $("#txtFirstName").val();
        Emp.MiddleName = $("#txtMiddleName").val();
        Emp.lastName = $("#txtLastName").val();
        Emp.gender = $('select#selectGender option:selected').val();
        Emp.roleID = "1";
        Emp.active = "1";
        //Get Url
        var createurl = "http://localhost:1045/api/Employee/";

        //POST data
        WinJS.xhr({
            type: "POST",
            url: createurl,
            headers: { "Content-type": "application/json; charset=utf-8" },
            data: JSON.stringify(Emp)
        }).then(success, error);

    }
    catch (e) {
        alert(e);
    }

});

并在员工 HTML 页面中包含 WinJS 文件。

<script src="//Microsoft.WinJS.1.0.RC/js/base.js"></script>
<script src="//Microsoft.WinJS.1.0.RC/js/ui.js"></script>
<script src="Scripts/EmployeeDetails.js"></script>

但在萤火虫中显示问题“未定义 WinJS”

4

1 回答 1

1

您用于引入 winjs 的脚本标签仅适用于 win8 应用程序,而不适用于网页。根据您提到的萤火虫,我假设您正在尝试在普通的网络应用程序中使用它。您需要将 winjs 文件放在您的 Web 服务器上并像访问任何其他脚本文件一样访问它们。

但请注意:winjs 尚未针对跨浏览器场景进行设计或测试,请检查该库的许可证。至少某些版本只允许在 win8 应用程序中使用。我不确定最终版本中是否仍然如此,但如果是这样,我不会感到惊讶。

于 2012-10-17T15:16:25.377 回答