全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:406
推到 Plurk!
推到 Facebook!

Delphi WebBroker and jquery AJAX

 
pcplayer99
尊榮會員


發表:141
回覆:733
積分:584
註冊:2003-01-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2017-04-04 22:11:33 IP:183.239.xxx.xxx 未訂閱
在一个 Web page 里面用 jquery 写一个 ajax 的代码,用于显示页面里面的一个图片。

[code xml]
$.get("titlepic?imgNo=1", function(data,status){
$('#img1').attr("src", data);
[/code]

上述 jquery code get 的 url 是:titlepic?ImgNo=1

在 Delphi WebBroker 里面,有一个 path 名字叫做 titlepic,它的 OnAction 事件方法里面,返回这个图片的 URL 给浏览器,类似 /myUploadImage/123.jpg

然后浏览器里面的 js 代码里面那句 $('#img1').attr("src", data); 被执行,将页面里 id 为 img1 的 标签的 src 属性设置为从服务器请求来的值。然后图片显示出来了。

注:上述 jquery.get 方法,是异步方法。如果用同步方法,FireFox 的调试工具会提醒你用同步方法不好。上述方法里面,function(data, status) 是一个匿名函数。

以下代码测试通过。


[code xml]

























1.jpg















[/code]

Delphi WebBroker code:

[code delphi]
--------------------
WebBroker code:

procedure TWebModule1.WebModule1WebActionTitlepicAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
Id, PicName: string;
i: Integer;
begin
Id := Request.QueryFields.Values['ImgNo'];

i := 0;
TryStrToInt(Id, i);
case i of
0: PicName := '0.jpg';;
1: PicName := '2.jpg';
2: PicName := '3.jpg';
3: PicName := '4.jpg';
4: PicName := '5.jpg';
end;

Response.Content := FUploadImagePath PicName;
end;
[/code]
編輯記錄
pcplayer99 重新編輯於 2017-04-04 22:21:10, 註解 無‧
GrandRURU
站務副站長


發表:231
回覆:1625
積分:1706
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2017-04-05 09:14:26 IP:59.120.xxx.xxx 未訂閱
這題材太棒了!

謝謝您的分享!
pcplayer99
尊榮會員


發表:141
回覆:733
積分:584
註冊:2003-01-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2017-04-06 17:27:42 IP:183.239.xxx.xxx 未訂閱
这里贴 code 好像有问题.

我已经贴到 csdn 里面去了.

http://blog.csdn.net/pcplayer/article/details/69230005
編輯記錄
GrandRURU 重新編輯於 2017-04-07 16:42:53, 註解 無‧
系統時間:2017-05-28 1:28:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!