zoukankan      html  css  js  c++  java
  • 进行同一Controller里的不同方法Get请求时,总是定位到Controller里的同一个方法的解决

    环境:我用的是webapi+EF4.0+html搭建的环境

    问题:进行同一Controller里的不同方法Get请求时,总是定位到Controller里的同一个方法,具体如下:

      1、Controller里有如下两个方法:

         [HttpGet]
            public HttpResponseMessage AddPersonToPersonInfo(string pno, string pname);

        [HttpGet]
            public HttpResponseMessage ModifyPersonToPersonInfo(string id, string pno, string pname);

         2、前台请求如下:

           var dataParas = '{"pno":"' + pno + '","pname":"' + pname + '"}';
                    $.get("/api/PersonManage/AddPersonToPersonInfo", eval('(' + dataParas + ')'), function (data) {
                        if (data != null && data.Status.Code == 200) {

            }

          );

           var dataParas = '{"id":"' + idstr + '","pno":"' + pno + '","pname":"' + pname + '"}';
                    $.get("/api/PersonManage/ModifyPersonToPersonInfo", eval('(' + dataParas + ')'), function (data) {
                        if (data != null && data.Status.Code == 200) {

            }

          );

    解决方法:

      首先可以通过监控工具监控http请求,看是否发送了请求,然后到Controller里设置断点进行调试

      当我进行AddPersonToPersonInfo()方法请求时,总是进入Controller里的ModifyPersonToPersonInfo()的方法,后面进过调试,突然意识到,WebApiConfig配置文件里有个默认的id参数配置的,所以把ModifyPersonToPersonInfo(string id, string pno, string pname)里的参数id改为iid,前台也要做相应的改为iid,下次调用时,表明这个方法里多了一个参数iid要拥有iid的才能配对成功。也能使得AddPersonToPersonInfo能够调用成功。

      

  • 相关阅读:
    c语言中的rewind函数,Win CE 不支持,可用fseek函数替换
    接口隔离原则(转)
    接口设计的 11 种原则 (转)
    设计模式六大原则/接口设计六大原则 之 组合/聚集复用原则(转)
    C++ 求幂的运算符是什么?
    设计模式六大原则/接口设计六大原则 之 迪米特法则(转)
    解决mysql出现“the table is full”的问题
    tomcat远程调试设置
    这些习惯很伤肾 要警觉
    从ie临时文件夹一次复制多个文件
  • 原文地址:https://www.cnblogs.com/luoyaqi/p/4436961.html
Copyright © 2011-2022 走看看