次の Web Api メソッドがあります。これは、新しい製品を作成して場所を設定する限りは正常に機能します。これは、Google 開発者ツールで応答ヘッダーを確認し、それが有効であることを確認したためです。ツールからブラウザへの場所を切り取って貼り付けると、ページが正常に読み込まれます。ただし、メソッドからの応答が返されるため、ロードされません。
public HttpResponseMessage PostProduct(Product product)
{
productsRepository.Create(product);
var response = Request.CreateResponse<Product>(HttpStatusCode.Created, product);
string uri = Url.Link("ProductsIndex", null);
response.Headers.Location = new Uri(Request.RequestUri,"/Products/testview");
return response;
}
PostProduct を呼び出す jQuery:
$("#createjQButton").click(function () {
var product = { Name: $("#Name").val(), Category: $("#Category").val(), Price: $("#Price").val() };
var json = JSON.stringify(product);
// Send an AJAX request to create a new product
$("#createjQButton").click(function () {
var product = { Name: $("#Name").val(), Category: $("#Category").val(), Price: $("#Price").val() };
var json = JSON.stringify(product);
$.ajax({
url: '/api/productsapi',
cache: false,
type: 'POST',
data: json,
contentType: 'application/json; charset=utf-8'
});
return false;
});
場所が無視されるのはなぜですか?