我是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未定义”
答案 0 :(得分:1)
您用来引入winjs的脚本标记只能在win8应用程序中使用,而不能在网页中使用。基于你提到firebug,我假设你正试图在普通的网络应用程序中使用它。您需要将winjs文件放在Web服务器上,并像访问任何其他脚本文件一样访问它们。
但请注意:winjs尚未针对跨浏览器方案进行设计或测试,并检查库的许可证。至少某些版本仅允许在win8应用中使用。我不确定在最终版本中是否仍然如此,但如果是的话,我不会感到惊讶。