支付宝小程序接口my.request,请求网络不支持multipart/form-data
根据支付宝小程序官方的解释,小程序中无法使用multipart/form-data类型,需要转化为json或者application/x-www-form-urlencoded,会将数据转换成 query string
方法一:json
formSubmit: function (e) {
var that = this
var formData = e.detail.value;
my.request({
url: your url,
method: m 'POST',
data: formData,
headers: {
'Content-Type': 'application/json',
},
success: function (res) {
}
});
}
c# 后端接收JSON 数据
Stream postData = Request.InputStream;
StreamReader sRead = new StreamReader(postData);
string postContent = sRead.ReadToEnd();
sRead.Close();
方法二:application/x-www-form-urlencoded,会将数据转换成 query string
前端推送消息
<form onSubmit="formSubmit" onReset="formReset">
<view class="weui-cell" >
<view class="weui-cell__hd">
<text class="weui-text">姓名:</text>
</view>
<view class="weui-cell__bd">
<input class="weui-input" name="Name" maxlength="40" placeholder="请输入您的姓名" />
</view>
</view>
<view class="apply_book_fixed">
<button size="default" type="primary" form-type="submit" class="weui-btn weui-btn_primary">我要绑定就诊卡</button>
</view>
</form>
formSubmit: function (e) {
var that = this
var formData = e.detail.value;
my.request({
url: your url,
method: m 'POST',
data: formData,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
success: function (res) {
}
});
}
C#后端接收数据:
string strName= getRequestString("name")
#region getRequestString(string key)
/// <summary>
/// 按key获取get和post请求
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public string getRequestString(string key)
{
string value = null;
if (Request.Form.Get(key) != null && Request.Form.Get(key).ToString() != "")
{
value = Request.Form.Get(key).ToString();
}
else if (Request.QueryString[key] != null && Request.QueryString[key].ToString() != "")
{
value = Request.QueryString[key].ToString();
}
return value;
}
#endregion