用于ODataWebAPI的JQuery Ajax Post数据
我使用下面的链接创建了一个ODataWebAPI 因此,我的解决方案包含两个项目用于ODataWebAPI的JQuery Ajax Post数据,jquery,json,ajax,asp.net-web-api2,odata,Jquery,Json,Ajax,Asp.net Web Api2,Odata,我使用下面的链接创建了一个ODataWebAPI 因此,我的解决方案包含两个项目 ODATAWebApi 网络应用 请查找代码WebApp code 我能够通过下面的代码使用数据并将其发布到ODataWebAPI index.html 使用上述方法,我们能够将数据发布到ODataWebAPI,但我想通过json对象发布数据,如下所示,但它不起作用 产品模型 Json产品模型 使用上述方法,我无法将数据发布到ODataWebAPI。 请帮助我或让我知道将数据发布到odata web api的任何
请帮助我或让我知道将数据发布到odata web api的任何其他方式。
数据类型
指的是在服务器未设置内容类型
标题的情况下,服务器的响应。您通常根本不需要使用此参数
contentType
指您发送到服务器的内容,这是您需要设置的内容
$("#btnPostData").bind("click", function () {
$.ajax({
url: 'https://localhost:44340/api/Products',
type: 'POST',
crossDomain: true,
contentType: 'application/json',
data: JSON.stringify({
Id: null,
Name: $("#txtName").val(),
Price: $("#txtPrice").val(),
Category: $("#txtCategory").val()
})
}).done(function (data) {
alert('Data: ' + JSON.stringify(data));
}).fail(function (request, error) {
console.log("Request: " + JSON.stringify(request));
alert("Request: " + JSON.stringify(request));
});
});
除非您明确指定要发送JSON,否则您的数据将被标记为content typeapplication/x-www-form-urlencoded
,这将在需要JSON时关闭服务器
$("#btnPostData").bind("click", function () {
var Name = $("#txtName").val();
var Price = $("#txtPrice").val();
var Category = $("#txtCategory").val();
//I am creating a query string to post the data to odata web api
var PostData = "Name=" + Name + "&Price=" + Price + "&Category=" + Category;
$.ajax({
url: 'https://localhost:44340/api/Products',
type: 'POST',
crossDomain: true,
dataType: 'json',
data:PostData,
success: function (data) {
alert('Data: ' + data);
},
error: function (request, error) {
console.log("Request: " + JSON.stringify(request));
alert("Request: " + JSON.stringify(request));
}
});
});
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public string Category { get; set; }
}
$("#btnPostData2").bind("click", function () {
var Product = {
Id : null,
Name: $("#txtName").val(),
Price: $("#txtPrice").val(),
Category: $("#txtCategory").val()
}
$.ajax({
url: 'https://localhost:44340/api/Products',
type: 'POST',
crossDomain: true,
dataType: 'json',
data: JSON.stringify(Product),
success: function (data) {
alert('Data: ' + data);
},
error: function (request, error) {
console.log("Request: " + JSON.stringify(request));
alert("Request: " + JSON.stringify(request));
}
});
});
$("#btnPostData").bind("click", function () {
$.ajax({
url: 'https://localhost:44340/api/Products',
type: 'POST',
crossDomain: true,
contentType: 'application/json',
data: JSON.stringify({
Id: null,
Name: $("#txtName").val(),
Price: $("#txtPrice").val(),
Category: $("#txtCategory").val()
})
}).done(function (data) {
alert('Data: ' + JSON.stringify(data));
}).fail(function (request, error) {
console.log("Request: " + JSON.stringify(request));
alert("Request: " + JSON.stringify(request));
});
});