我需要实现一个ios端发送数据到服务器端把数据存到服务器端的数据库,数据库的表如下:服务器已经写好接收一个json格式的string并解码存入数据库的函数,函数如下:函数参数就是一个名为stringText的c#类型string;
在浏览器打开网站的地址如下:ios端代码编写如下
调试发现能返回请求成功,但是服务器端的数据库没有改变;感觉服务器端代码没有什么问题,我怀疑是因为post参数或者url写的不对没有调用到服务器端的函数,或者是调用了但是因为没有传到json格式的数据过去以致服务器端函数读取不到数据,求大神指教谢谢!

解决方案 »

  1.   

    .net 服务器端建议使用 MVC4 下的webAPI 模板来创建工程,WebAPI 是转门用来写接口的,可以很容易的将对象序列化成json格式并返回给客户端。
      

  2.   

    先用firedebug、chrome看看问题所在。
      

  3.   

    你看看你服务器端的jsonText取到了没有
      

  4.   

    再者,客户端封装时是使用的dictionary封装的post过来的参数及数据。其中key 就是参数,value就是我们要接收的数据。如果在客户端你有这样的数据需要 post给服务器端的话
    Dictionary *params=@{@"userName": @"zhangsan", @"passWord":@"admin"};服务器端的LoginController
    [POST]
    public JSONResult Login(string userName, string passWord) {
           // ..................
    }注意服务器端的Login Action 其中的两个参数,必须和客户端 dictionary封装的key相同
      

  5.   

    如果是这样的话服务器的函数的就不用解析json了?
      

  6.   

    不解析。用过jquery的ajax请求吗? 
    $.ajax({
            ....
    })其中在传递参数时就使用json格式,服务器端对应的根据key来创建参数。接收的是分离的,而不是一个json串。
      

  7.   


    不是很懂你的意思是在下面这个函数之前就要把ios端穿过来的json串分离开?
    [POST]
    public JSONResult Login(string userName, string passWord) {
           // ..................
    }
    还有对照那个网址我写的url正确吗?谢谢
      

  8.   


    不是很懂你的意思是在下面这个函数之前就要把ios端穿过来的json串分离开?
    [POST]
    public JSONResult Login(string userName, string passWord) {
           // ..................
    }
    还有对照那个网址我写的url正确吗?谢谢
    不用自己手动。你传过来的json串相当于form表单中的多个input 元素,可以在服务器端直接request.Form[key] 来得到各自提交过来的值。