ASP.NET Web(.Net Framework)POST无法正常接收数据

ASP.NET Web(.Net Framework)POST无法正常接收数据

介绍

这一篇文章主要是讲一下之前搭建的HTTP站点POST无法正常接收数据,如果还不知道怎么搭建HTTP站点的去看下我之前的文章 ASP.NET Web(.Net Framework) Http服务器搭建以及IIS站点发布

站点Post和Get如何打断点

找到你创建的项目点击调试-> 附加到进程

找到w3wp然后附加上打断点即可(找不到的话就重新开启IIS的站点,然后重新生成一下项目再试试)

测试

测试代码如下

因为我这里使用的是Unity所以测试我也是使用的Unity去做的测试,这里先放一个简单的代码仅供测试

直接调用PostTest发送自己部署的服务站点即可测试

csharp 复制代码
    /// <summary>
    /// Post请求
    /// </summary>
    /// <param name="url"></param>
    /// <param name="json"></param>
    private void PostTest()
    {
        JsonData jsonData = new JsonData();
        jsonData["UserName"] = "ck";
        jsonData["Pwd"] = "ck123";
        WWWForm www = new WWWForm();
        www.AddField("",jsonData.ToJson());
        
        UnityWebRequest req = UnityWebRequest.Post("url", www);

        StartCoroutine(Request(req));
    }

	/// <summary>
    /// 请求服务器
    /// </summary>
    /// <param name="req"></param>
    /// <returns></returns>
    private IEnumerator Request(UnityWebRequest req)
    {
        yield return req.SendWebRequest();

        //没有错误
        if (string.IsNullOrEmpty(req.error))
        {
            if (req.downloadHandler.text == "null")
            {
                    Debug.LogError("未请求到用户");
            }
            else
            {
					Debug.LogError(req.downloadHandler.text);
            }
        }
        //有错误
        else
        {
				Debug.LogError(req.error);
        }
    }

服务器站点Post方法修改

为什么有些可以成功发送,有些发送不过来数据呢

我将站点的Post协议修改如下,加上了string的返回值和修改了参数名
FormBody你可以理解成Unity中的WWWForm,但是注意WWWForm在调用AddField("",jsonData)时第一个参数必须为空,不可写入其他值,不然无法正常接收到数据

原因总结

AddField的首个参数需要传空"",Post的参数名称最好和你要创建的 JsonData变量名一致

总结

感谢大家的支持!

相关推荐
IT_陈寒15 小时前
Python 3.12 的7个性能优化技巧,让你的代码快如闪电!
前端·人工智能·后端
excel15 小时前
JSON 使用指南:从基础语法到 stringify/parse 的高级技巧
前端
yinuo15 小时前
Uni-App跨端开发实战:编译APP跳转全平台终极指南(02)
前端
楼田莉子15 小时前
前端学习——CSS
前端·css·学习
掘金安东尼15 小时前
理解 Promise.any():一次成功就行
前端·javascript·面试
掘金安东尼15 小时前
CSS 电梯:纯 CSS 实现的状态机与楼层导航
前端·javascript·github
张风捷特烈15 小时前
FlutterUnit 3.3.0 | 全组件、全属性、鸿蒙支持来袭
android·前端·flutter
安心不心安16 小时前
React Router 6 获取路由参数
前端·javascript·react.js
MasterNeverDown17 小时前
.NET 微服务日志系统:Serilog + Loki + Grafana 实践指南
微服务·.net·grafana
界面开发小八哥17 小时前
DevExpress WinForms中文教程:Data Grid - 过滤编辑器
人工智能·ui·.net·devexpress·用户界面·winforms