ASP如何实现get和post

   这几天在搭建一个网站服务器,一直很纠结在如何实现客户端 和 服务器端  如何实现get 和 post方法。

    当然,这个问题其实很菜的,对于经常做网站开发的人来说,这简直就是睡觉时盖被子一样简单,但这个问题真的让像我这样刚接触网站开发的人苦恼了很久。

   在解决了之后,发现原来却是很简单的。先解释如下:

 

   1 ,get和pos主要是为了实现 访问服务器网站的客户端 和 服务器进行数据交互。

   2 。 比如现在服务器的地址是192.168.1.123 .并且通过配置IIS过后,默认访问的网页是 admin.aspx,端口是8080.  (意思就是说假如在本机或者是局域网内访问http://192.168.1.123:8080/admin.aspx 时,会出现admin.aspx这个网页。)

   3 ,这是最关键的一步: 在客户端访问时,输入网址为http://192.168.1.123:8080/admin.aspx?data=123  对,你没有看错,就是这个网址,比http://192.168.1.123:8080/admin.aspx多了一个 "?data=123"。 其实这就是奥秘,与服务器进行交互的奥秘。

   4.,这是最关键的第二步:  在服务器端,在admin.aspx内,在load_page()函数里(我一直把这个Load_page函数当成一般程序的main函数),加上如下代码;

    string searchdata = Request["data"];

    这时,你测试一下的话,会发现 searchdata 里的数据 就是 123 。这个123可能是你数据库中某个表的某个数据项的 key。这是,你只需运用sql语句,将这条数据项从数据库中取出来,对应赋值到 admin.aspx中的Lable 或者 Text中就可以了。然后客户端在访问http://192.168.1.123:8080/admin.aspx?data=123 时,就会得到主键为123的这条数据的信息了。 这也就实现客户端和服务器两端的数据交互,也就实现了get 和post.

 

注:1,在服务器和客户端的交互过程中,data这个关键字很重要,服务器和客户端必须统一。

       2.,当客户端向服务器端发送数据量很少的时候,可以用get和post,但貌似数据量太大的话,容易出现数据丢失和出错,这时候就需要用表单或者什么的(我也正在研究中,还不是很会用,假如以后会用了在贴出来)。

 

附:假如你的客户端使用VC写的一个软件,需要通过点击某个按钮来访问一个网页,此时也许你还会碰到一个问题:那就是 CString 想LPCSTR转换的问题。因为ShellExecute()这个函数的第三个参数是LPCSTR类型的。而一般我们获取 ListControl 中的某个Item 的Text数据后是CString类型的。这时需要将CString 转换为 LPCSTR类型。

其实这个转换很简单如下:

CString url(_T("http://192.168.1.133:8080/admin.aspx?data=123"));
 CStringA str(url);    //a help string;
 LPCSTR lpstr= str;
 ::ShellExecuteA(NULL,NULL,lpstr,NULL,NULL,SW_MAXIMIZE);

这样就可以顺利访问服务i器并且得到关于 主键123 的一些信息了。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是ASP代码实现微信支付的示例: 1.引入微信支付API文件 ``` <!-- 引入微信支付API文件 --> <!-- 引入JSAPI支付方式的文件 --> <script src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script> <!-- 引入公共的JS文件 --> <script src="js/common.js"></script> ``` 2.定义微信支付参数 ``` <% '微信支付配置参数 appid = "wx1234567890" '微信公众号appid mch_id = "1234567890" '微信商户号 notify_url = "http://www.example.com/pay/notify.asp" '微信支付回调通知URL key = "abcdefghijklmnopqrstuvwxyz123456" '微信商户平台API密钥 trade_type = "JSAPI" '支付方式,JSAPI为公众号支付 %> ``` 3.获取微信支付openid ``` <% '获取微信支付openid openid = "" if Request.QueryString("code") <> "" Then '如果有授权code,则获取openid code = Request.QueryString("code") url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" & appid & "&secret=" & secret & "&code=" & code & "&grant_type=authorization_code" set xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP") xmlHttp.open "GET", url, false xmlHttp.send jsonStr = xmlHttp.responseText set json = GetJson(jsonStr) If json.errorcode = "" Then openid = json.openid End If End If %> ``` 4.生成微信支付订单 ``` <% '生成微信支付订单 out_trade_no = GenerateOrderNo() '生成订单号 total_fee = 100 '支付金额(单位:分) body = "测试商品" '商品描述 spbill_create_ip = Request.ServerVariables("REMOTE_ADDR") '客户端IP地址 '构造微信支付统一下单接口请求参数 Set Params = Server.CreateObject("Scripting.Dictionary") Params.Add "appid", appid Params.Add "mch_id", mch_id Params.Add "nonce_str", GenerateNonceString() Params.Add "body", body Params.Add "out_trade_no", out_trade_no Params.Add "total_fee", total_fee Params.Add "spbill_create_ip", spbill_create_ip Params.Add "notify_url", notify_url Params.Add "trade_type", trade_type Params.Add "openid", openid '用户openid '生成签名 sign = GenerateSign(Params, key) '构造XML请求参数 xmlRequest = "<xml>" For Each Key in Params.Keys xmlRequest = xmlRequest & "<" & Key & ">" & Params.Item(Key) & "</" & Key & ">" Next xmlRequest = xmlRequest & "<sign>" & sign & "</sign>" xmlRequest = xmlRequest & "</xml>" '调用微信支付统一下单接口 url = "https://api.mch.weixin.qq.com/pay/unifiedorder" set xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP") xmlHttp.open "POST", url, false xmlHttp.setRequestHeader "Content-Type", "application/xml" xmlHttp.send xmlRequest xmlResponse = xmlHttp.responseText '解析微信支付统一下单接口返回的XML数据 Set xmlDOM = Server.CreateObject("MSXML2.DOMDocument") xmlDOM.async = False xmlDOM.loadXML xmlResponse If xmlDOM.selectSingleNode("//return_code").text = "SUCCESS" Then '生成微信支付JSAPI参数 timestamp = Now() - DateSerial(1970, 1, 1) '生成时间戳 Set jsApiParams = Server.CreateObject("Scripting.Dictionary") jsApiParams.Add "appId", appid jsApiParams.Add "timeStamp", timestamp jsApiParams.Add "nonceStr", GenerateNonceString() jsApiParams.Add "package", "prepay_id=" & xmlDOM.selectSingleNode("//prepay_id").text jsApiParams.Add "signType", "MD5" jsApiParams.Add "paySign", GenerateSign(jsApiParams, key) End If %> ``` 5.调用微信支付 ``` <% '调用微信支付 If xmlDOM.selectSingleNode("//return_code").text = "SUCCESS" Then '调用微信支付JSAPI wx.config({ debug: false, appId: '<%=appid%>', timestamp: '<%=timestamp%>', nonceStr: '<%=jsApiParams.Item("nonceStr")%>', signature: '<%=GetJsApiSignature(jsApiParams.Item("appId"), jsApiParams.Item("nonceStr"), jsApiParams.Item("timeStamp"), jsApiParams.Item("package"), key)%>', jsApiList: ['chooseWXPay'] }); wx.ready(function() { wx.chooseWXPay({ timestamp: '<%=timestamp%>', nonceStr: '<%=jsApiParams.Item("nonceStr")%>', package: '<%=jsApiParams.Item("package")%>', signType: '<%=jsApiParams.Item("signType")%>', paySign: '<%=jsApiParams.Item("paySign")%>', success: function(res) { //支付成功,跳转到订单详情页面 window.location.href = "order_detail.asp?out_trade_no=<%=out_trade_no%>"; }, fail: function(res) { alert("支付失败:" + res.errMsg); } }); }); End If %> ``` 以上是ASP代码实现微信支付的基本流程,具体实现可能因版本不同而有所差异,需要根据实际情况进行调整。 ### 回答2: ASP代码实现微信支付的代码如下: 1. 首先,在ASP页面中引入微信支付的相关SDK和库文件。 2. 在ASP页面中设置微信支付的相关参数,包括微信支付的APPID、商户号、密钥等信息。 3. 创建一个微信支付的接口,接收客户端传递的支付参数。 4. 在接口中生成随机字符串、时间戳和签名等信息。 5. 将生成的签名信息和其他支付参数一起发送到微信支付的统一下单API接口。 6. 微信支付统一下单API接口返回预支付交易会话标识prepay_id。 7. 在接口中对prepay_id进行处理,生成支付参数供前端调起微信支付。 8. 将支付参数返回给前端,以便用户调起微信支付。 9. 前端通过微信JSAPI支付接口进行支付操作,调用微信支付页面。 10. 用户在微信支付页面完成支付操作。 11. 微信支付后台通知商户支付结果。 12. 商户后台根据微信支付后台通知的支付结果更新订单状态等相关操作。 13. 返回支付结果给微信支付后台,以确保后续重复通知的正常处理。 14. 微信支付后台对商户返回的支付结果进行验证,返回通知告知商户是否处理成功。 15. 商户根据微信支付后台的验证结果进行相应处理。 以上便是ASP代码实现微信支付的基本流程。具体实现中,需要根据自己的业务需求对代码进行适当的定制和优化。 ### 回答3: 微信支付是一种常见的在线支付方式,在ASP中可以通过调用微信支付的API来实现支付功能。以下是一个简单的ASP代码示例: 首先,需要在ASP页面中引入微信支付的SDK文件,可以通过在页面头部添加以下代码实现: ``` <%@ Page Language="C#" %> <%@ Import Namespace="微信支付SDK的命名空间" %> ``` 接着,在页面中定义一些必要的变量,用于存储商户号、订单号、支付金额等信息。可以通过以下代码实现: ``` <script runat="server"> string mchId = "商户号"; string orderId = "订单号"; decimal amount = 10.00; // 支付金额 </script> ``` 然后,可以在页面中编写调用微信支付的代码。首先需要创建一个微信支付对象,然后设置相关参数,包括商户号、订单号、支付金额等。接着可以调用支付API进行支付,最后可以根据返回的结果进行一些处理。可以通过以下代码实现: ``` <script runat="server"> // 创建微信支付对象 WeChatPay wcPay = new WeChatPay(); // 设置支付参数 wcPay.MchId = mchId; wcPay.OrderId = orderId; wcPay.Amount = amount; // 调用支付API进行支付 PayResult payResult = wcPay.Pay(); // 处理支付结果 if (payResult.ResultCode == "SUCCESS") { // 支付成功,进行相关处理 } else { // 支付失败,进行相关处理 } </script> ``` 在这个示例中,使用了一个名为`WeChatPay`的微信支付对象,该对象封装了微信支付的相关方法和属性。需要根据实际情况,修改商户号、订单号、支付金额等参数。另外,示例中的支付结果`PayResult`是一个自定义的类,用于存储支付结果,需要根据实际情况进行修改。 需要注意的是,以上示例只是一个简单的示例,实际的微信支付可能会涉及到更多的参数和逻辑处理。在实际开发中,可以根据微信支付的官方文档进行更详细的配置和调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值