我在做一个收费系统。客户支付货物的API运行在JavaScript中:
function jsApiCall()
{
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
<%=wxJsApiParam%>,
function (res)
{
WeixinJSBridge.log(res.err_msg);
//alert(res.err_code + res.err_desc + res.err_msg);
switch(res.err_msg)
{
case 'get_brand_wcpay_request:cancel':
document.getElementById("Hidden1").value=1;
alert('payment canceled!');
break;
case 'get_brand_wcpay_request:fail':
document.getElementById("Hidden1").value=2;
alert('payment failed!');
break;
case 'get_brand_wcpay_request:ok':
document.getElementById("Hidden1").value=3;
alert('payment successful!');
break;
}
}
);
}并使用以下方法从jsApiCall()获得相应的值。
<input id="Hidden1" type="hidden" runat="server" />在获得Hidden1.Value的值后,我需要将一些信息添加到服务器中的文本文件中,但不应该要求客户单击任何按钮或执行任何操作。我应该在哪里编写以下后端代码?谢谢。
string rst = Hidden1.Value;
switch (rst)
{
case "1":
using (StreamWriter sw = File.AppendText(path))
{
sw.WriteLine("1");
}
break;
case "2":
using (StreamWriter sw = File.AppendText(path))
{
sw.WriteLine("2");
}
break;
case "3":
using (StreamWriter sw = File.AppendText(path))
{
sw.WriteLine("3");
}
break;
default:
Response.Write("failed to update .txt file");
break;
} 总之,我想要的是在任何客户成功付款后立即在服务器中记录一些信息。如果这种方法不起作用,我也很感激有人能给我一些建议。
发布于 2018-06-12 10:06:34
首先在js端编写一个函数--这个函数将负责从客户端获取值,然后提交给服务器。
要向服务器提交值,您有两个选项(根据您的需要):
可以在switch(res.err_msg)或隐藏输入的变化事件上调用这个新的js函数。
示例:
function (res)
{
WeixinJSBridge.log(res.err_msg);
//alert(res.err_code + res.err_desc + res.err_msg);
switch(res.err_msg)
{
case 'get_brand_wcpay_request:cancel':
document.getElementById("Hidden1").value=1;
mySubmitToServer(1);
alert('payment canceled!');
break;
case 'get_brand_wcpay_request:fail':
document.getElementById("Hidden1").value=2;
mySubmitToServer(2);
alert('payment failed!');
break;
case 'get_brand_wcpay_request:ok':
document.getElementById("Hidden1").value=3;
mySubmitToServer(3);
alert('payment successful!');
break;
}
}
);
}
function mySubmitToServer(valToSubmit)
{
// submit the form
// OR
// ajax call to server method
}
<form >
<input id="Hidden1" type="hidden" runat="server" />
</form>https://stackoverflow.com/questions/50810609
复制相似问题