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变量名一致

总结

感谢大家的支持!

相关推荐
C_心欲无痕3 小时前
前端实现水印的两种方式:SVG 与 Canvas
前端·安全·水印
尾善爱看海6 小时前
不常用的浏览器 API —— Web Speech
前端
美酒没故事°6 小时前
vue3拖拽+粘贴的综合上传器
前端·javascript·typescript
jingling5558 小时前
css进阶 | 实现罐子中的水流搅拌效果
前端·css
悟能不能悟9 小时前
前端上载文件时,上载多个文件,但是一个一个调用接口,怎么实现
前端
可问春风_ren9 小时前
前端文件上传详细解析
前端·ecmascript·reactjs·js
羊小猪~~10 小时前
【QT】--文件操作
前端·数据库·c++·后端·qt·qt6.3
晚风资源组11 小时前
CSS文字和图片在容器内垂直居中的简单方法
前端·css·css3
Miketutu12 小时前
Flutter学习 - 组件通信与网络请求Dio
开发语言·前端·javascript
光影少年13 小时前
前端如何调用gpu渲染,提升gpu渲染
前端·aigc·web·ai编程