为了账号安全,请及时绑定邮箱和手机立即绑定

无法将数据从 c#(控制器) 发送到 javascript

无法将数据从 c#(控制器) 发送到 javascript

三国纷争 2022-08-04 16:19:32
我的JavaScript文件上有这个代码:temp="string";var myJson = JSON.stringify(temp);    $.ajax(        {            url: '/MemoryGame/updateStatus',            type: 'POST',            contentType: "application/json; charset=utf-8",            dataType: "json",            data: myJson,            success: function (response) {                alert("success");                if (response == 'Okay') {                    checkStatus(temp.myID);                }               else {                    ConnectionChanged();                }            },            error: function (errorThrown) {                console.log(errorThrown);                ConnectionChanged();            }        });这个控制器:[HttpPost]        public string updateStatus(string updatedJson)        {            var Player = JsonConvert.DeserializeObject<GameDataClass>(updatedJson);            var Opponent = JsonConvert.DeserializeObject<GameDataClass>(System.IO.File.ReadAllText(System.IO.Path.Combine(_env.WebRootPath, Player.OpponentID + ".json"))); ... }我试图将$.ajax更改为$.post方法,也改变了公共字符串更新状态自public JsonResult updatestatus但这两个都没有奏效。javascript上的myJson包含数据,但是当它到达控制器更新时Json是空的。我从来没有这样的经验,所以我正在使用另一个项目的代码,它在那里工作得很好。那么有人可以建议我做错了什么吗?
查看完整描述

2 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

  temp="string";

    // (0)

    var myJson = JSON.stringify(temp);

    $.ajax(

        {

            url: '/MemoryGame/updateStatus?updatedJson=' + temp, // (1)

            type: 'POST',

            contentType: "application/json; charset=utf-8",

            dataType: "json",

            data: '',   // (2)

            success: function (response) {

                alert("success");

                if (response == 'Okay') {

                    checkStatus(response.myID);

                }

               else {

                    ConnectionChanged();

                }

            },

            error: function (errorThrown) {

                ConnectionChanged();

            }

        });

或者,如果这不必作为参数传递,请执行以下操作:(0) var formData = new FormData();formData.append('updatejson', temp);(1) url: '/MemoryGame/updateStatus', (2) data: formData,


查看完整回答
反对 回复 2022-08-04
?
浮云间

TA贡献1829条经验 获得超4个赞

$.ajax 是 jQuery 库中的一个词库,你的项目包含它吗?

您还可以检查浏览器的Javascript控制台,看看它是否包含错误。在Firefox和Chrome上,您可以通过按F12来访问它。


查看完整回答
反对 回复 2022-08-04
  • 2 回答
  • 0 关注
  • 119 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信