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

总结

感谢大家的支持!

相关推荐
超人不会飛23 分钟前
就着HTTP聊聊SSE的前世今生
前端·javascript·http
蓝胖子的多啦A梦26 分钟前
Vue+element 日期时间组件选择器精确到分钟,禁止选秒的配置
前端·javascript·vue.js·elementui·时间选选择器·样式修改
夏天想29 分钟前
vue2+elementui使用compressorjs压缩上传的图片
前端·javascript·elementui
今晚打老虎z37 分钟前
dotnet-env: .NET 开发者的环境变量加载工具
前端·chrome·.net
用户38022585982443 分钟前
vue3源码解析:diff算法之patchChildren函数分析
前端·vue.js
烛阴1 小时前
XPath 进阶:掌握高级选择器与路径表达式
前端·javascript
小鱼小鱼干1 小时前
【JS/Vue3】关于Vue引用透传
前端
JavaDog程序狗1 小时前
【前端】HTML+JS 实现超燃小球分裂全过程
前端
独立开阀者_FwtCoder1 小时前
URL地址末尾加不加 "/" 有什么区别
前端·javascript·github
独立开阀者_FwtCoder1 小时前
Vue3 新特性:原来watch 也能“暂停”和“恢复”了!
前端·javascript·github