账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Mockjs 拦截post请求后,参数是否可以直接设定为json格式?
    34
    0

    试图使用Mockjs拦截post请求,获取到的option.body貌似是个字符串,

    例如这样:

    { 
      url: "http://test.cn/entity/save", 
      type: "POST", 
      body: "name=abc&type=1"
    }

    请问是否有什么设置能保证能直接获取成json,比如下面这样

    { 
      url: "http://test.cn/entity/save", 
      type: "POST", 
      body: {
        name: "abc",
        type: 1
      }
    }
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • щǒ就是这麽↘拽 普通会员 1楼

      是的,你可以通过在mock.js中拦截post请求并设置参数为JSON格式来实现这个目标。以下是一个简单的例子:

      首先,你需要在mock.js中定义一个拦截器,它会在POST请求到达时被调用:

      ```javascript var Mock = require('mockjs'); var request = Mock();

      request.post('/', function(req, res) { console.log('request is being sent:', req.body); }); ```

      然后,你可以在测试中模拟一个POST请求,将参数设置为JSON格式:

      ```javascript describe('POST request', function() { var req, res;

      beforeEach(function() {
          req = new Mock();
          res = new Mock();
      });
      
      it('should send JSON body', function() {
          req.body = {
              key: 'value'
          };
      
          request.post('/', req, res);
      
          expect(res.body.key).toEqual('value');
      });
      

      }); ```

      在这个例子中,我们首先创建了一个Mock对象,然后在beforeEach函数中创建了两个Mock对象:一个是请求对象,另一个是响应对象。然后,我们在测试中模拟了一个POST请求,并将参数设置为JSON格式。

      然后,我们使用request.post('/', req, res)来发送请求,并检查响应的body属性。在这个例子中,我们期望body属性包含键为value的值。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部