http://localhost:57501/api/addDatabaseのWebサービスには、次のコードがあります。jQueryポストでWebサービスがnullを受け取るJSON
[System.Web.Mvc.HttpPost]
public ActionResult Post(addDatabase pNuevaConeccion)
{
pNuevaConeccion.insertarMetaData();
return null;
}
のAjax機能はhttp://localhost:1161/CreateServer上の所与の値からJSONを生成するJavaScriptです。
$(ドキュメント).ready(関数(){
$("#createServer").click(function (e) {
e.preventDefault(); //Prevent the normal submission action
var frm = $("#CreateServerID");
var dataa = JSON.stringify(frm.serializeJSON());
console.log(dataa);
$.ajax({
type: 'POST',
url: 'http://localhost:57501/api/addDatabase/',
contentType: 'application/json; charset=utf-8',
crossDomain: true,
//ContentLength: dataa.length,
data: dataa,
datatype: 'json',
error: function (response)
{
alert(response.responseText);
},
success: function (response)
{
alert(response);
if (response == "Database successfully connected") {
var pagina = "/CreateServer"
location.href = pagina
}
}
});
});
})。 このコードを実行すると「未定義」という警告が表示されますが、contentTypeを削除すると警告が表示されません。問題は、私がconsole.logを実行して以来、dataaという名前のJSONがNULLではないことがわかっていても、(Webサービスの)Post関数が受け取る変数がNULLであることです。
私はさまざまな例を見てきましたが、かなりのすべてが私が相対URLを使用すべきだと言っていますが、問題は2つの異なるドメインがあり、試したときにURLが見つかりませんでした同じローカルホストにあります。