小程序利用WebService跟asp.net交互过程发现的问题并处理

最近在研究一个项目,用到asp.net跟小程序交互,简单的说就是小程序端利用wx.request发起请求。获取asp.net 响应回来的数据。但经常会报错。点击下图的测试按钮


出现如下错误:

百思不得其解,试了若干方法,都不行。
因为是第一次接触webservice,不是很精通,后来发现必须如下图所示点击asp.net中的运行才行


asp.net端点击运行代码状态如下

然后再点击小程序端的测试按钮,提示一切ok

显示数据可以正常获取了展开如下:

正确获取了asp.net 响应过来的数据,在上图中的data 中。贴出代码,供大家测试

小程序端代码如下:
wxml端:

复制代码
<view class="container">
    <text class="user-motto">{{num}}</text>
    <button bindtap="requestWebService">测试</button>
</view>

小程序js端代码如下:

复制代码
  /**
   * 页面的初始数据
   */
  data: {
    num:[]
  },
  //测试WebService
  requestWebService:function(){
    var that=this//注意这里必须缓存,不然无法在回调中
    wx.request({
      url: 'https://localhost:44346/test.asmx/Name',
      data: {
        a:1,
        b:2
      },
      method: 'POST', 
      success: function(res){
   
        console.log(res)
        that.setData({motto:res.data.d})//这里是that不是this
      },
      fail: function() {
       
      },
      complete: function() {
       
      }
    })
  },

asp.net端代码如下:

复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace 练习数据交互
{
    /// <summary>
    /// test 的摘要说明
    /// </summary>
    [WebService(Namespace = "练习数据交互")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 
    [System.Web.Script.Services.ScriptService]
    public class test : System.Web.Services.WebService
    {

        [WebMethod]
        public int[] Name(int a, int b)
        {
            return new int[] { a, b };
        }
    }
}

注意 [System.Web.Script.Services.ScriptService],不要注释。否则也会出错

相关推荐
jyd01241 小时前
Spring Boot 文件上传大小限制问题:413 与 MaxUploadSizeExceededException 解决方案
java·spring boot·后端
虾说羊2 小时前
Spring Boot前后端分离项目部署
java·spring boot·后端
会员源码网2 小时前
最新壁纸头像小程序系统源码 制作头像的软件 头像壁纸软件 带流量主
小程序
2501_915106322 小时前
Perfdog 成本变高之后,Windows 上还能怎么做 iOS APP 性能测试
android·ios·小程序·https·uni-app·iphone·webview
小王不爱笑1322 小时前
SpringBoot 项目新建的五种方式详细笔记
spring boot·笔记·后端
superman超哥2 小时前
Rust 内存泄漏检测与防范:超越所有权的内存管理挑战
开发语言·后端·rust·内存管理·rust内存泄漏
悟空码字2 小时前
SpringBoot整合FFmpeg,打造你的专属视频处理工厂
java·spring boot·后端
独自归家的兔2 小时前
Spring Boot 版本怎么选?2/3/4 深度对比 + 迁移避坑指南(含 Java 8→21 适配要点)
java·spring boot·后端
2501_915106322 小时前
iOS 安装了证书,HTTPS 还是抓不到
android·网络协议·ios·小程序·https·uni-app·iphone
superman超哥2 小时前
Rust 移动语义(Move Semantics)的工作原理:零成本所有权转移的深度解析
开发语言·后端·rust·工作原理·深度解析·rust移动语义·move semantics