У меня проблема, я не могу понять. Я делаю следующий вызов: АЯКСjquery ajax не публикует данные
var dataArray = { table: "Products" };
$.ajax({
url: uri,
type: "POST",
cache: false,
datatype: "json",
data: dataArray
})
.done(function(msg) {
alert("Data Saved");
})
.fail(function() {
alert("error");
});
Проблема у меня в том, что это, кажется, не будет посылать то, что я имею в DataArray на мой контроллер Web API, и постоянно возвращается со следующим ответом :
{"Message":"No HTTP resource was found that matches the request URI 'http://myURI'.","MessageDetail":"No action was found on the controller 'MYController' that matches the request."}
Вещь, которая меня сбивает с толку, заключается в том, что я могу сделать GET, как это, и он возвращает данные в порядке. Кроме того, если я просто прикладываю аппроксимировать запрос на uri, например
http://myURI?table=Products
тогда POST работает нормально. Я мог бы сделать это таким образом, но мне очень любопытно, что я делаю неправильно в том, как я выше. Благодаря!
Это то, что находится в моем контроллере. Я просто пытаюсь проверить, могу ли я это сделать прямо сейчас.
public void Post(string table)
{
string beingHit = "We did it!";
}
'datatype: json,' - вам нужны кавычки вокруг бита JSON, но если вы скажете, что вы можете использовать POST в своей конечной точке, когда у вас есть переменная GET в вашей строке запроса, вам нужно оценить, как ваш контроллер API обрабатывает методы запроса - и размещайте некоторые из этого кода здесь, чтобы мы могли помочь вам с ним. –
Вам также необходимо подкрепить ваши данные. $ .ajax не сделает это автоматически для вас. Используйте что-то вроде https: // github.com/douglascrockford/JSON-js –
@scrowler см. http://stackoverflow.com/questions/13735869/datatype-application-json-vs-json – Musa