gpt4 book ai didi

javascript - Web 服务使用 jQuery post JSON 接收 null

转载 作者:行者123 更新时间:2023-12-03 07:15:42 25 4
gpt4 key购买 nike

http://localhost:57501/api/addDatabase 上的网络服务有以下代码。

    [System.Web.Mvc.HttpPost]
public ActionResult Post(addDatabase pNuevaConeccion)
{
pNuevaConeccion.insertarMetaData();
return null;
}

Ajax 函数位于 JavaScript 上,它根据http://localhost:1161/CreateServer 上的给定值创建 JSON。 .

$(文档).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,则不会显示警报。问题在于,函数 Post(从 Web 服务)接收的变量为 NULL,尽管我知道名为 dataa 的 JSON 不是 NULL,因为我执行了 console.log。

我看过各种例子,几乎所有例子都说我应该使用相对 URL,但问题是,由于有 2 个不同的域,当我尝试它时,它找不到 URL,因为它不在同一个本地主机。

最佳答案

Web 服务应返回 JSON 格式而不是 null。就像下面的例子。

public JsonResult Post()  
{
string output = pNuevaConeccion.insertarMetaData();

return Json(output, JsonRequestBehavior.AllowGet);
}

关于javascript - Web 服务使用 jQuery post JSON 接收 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36437477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com