使用jQuery post JSON接收null的Web服务

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

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

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

$(document).ready(function(){

$("#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,因为它不在同一个localhost中。


开满天机
浏览 646回答 3
3回答

慕的地6264312

尝试使用此代码调用Web方法$.ajax({         method: "POST",         contentType: "application/json; charset=utf-8",         data: dataa,         url: 'http://localhost:57501/api/addDatabase/',         success: function (data) {             console.log(data);                       },         error: function (error) {             console.log(error);           }});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript