标题:王子的fll可以让vfp实现web化想学习的来学习吧
取消只看楼主
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
结帖率:95%
已结贴  问题点数:20 回复次数:21 
王子的fll可以让vfp实现web化想学习的来学习吧
思路是结合框架比其他的方式方法会更适合,你真的不能再错过了
搜索更多相关主题的帖子: web 其他 学习 方法 vfp 
2022-07-01 22:36
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
简单应用是可以少学习的框架是让大家方便的事
2022-07-02 10:50
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
想实现加362924376
2022-07-04 12:05
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
简单实现是很简单的
2022-07-09 20:35
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>示例演示</title>
  <meta name="renderer" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- 注意:项目正式环境请勿引用该地址 -->
  <link href="// rel="stylesheet">
</head>
<body>
 
 
<div class="demoTable">
  搜索ID:
  <div class="layui-inline">
    <input class="layui-input" name="id" id="demoReload" autocomplete="off">
  </div>
  <button class="layui-btn" data-type="reload">搜索</button>
</div>
 
<table class="layui-hide" id="LAY_table_user" lay-filter="user"></table>
               
         
<!-- 注意:项目正式环境请勿引用该地址 -->
<script src="//

<script>
layui.use('table', function(){
  var table = layui.table;
  
  //方法级渲染
  table.render({
    elem: '#LAY_table_user'
    ,url: '/static/json/table/user.json'
    ,cols: [[
      {checkbox: true, fixed: true}
      ,{field:'id', title: 'ID', width:80, sort: true, fixed: true}
      ,{field:'username', title: '用户名', width:80}
      ,{field:'sex', title: '性别', width:80, sort: true}
      ,{field:'city', title: '城市', width:80}
      ,{field:'sign', title: '签名'}
      ,{field:'experience', title: '积分', sort: true, width:80}
      ,{field:'score', title: '评分', sort: true, width:80}
      ,{field:'classify', title: '职业', width:80}
      ,{field:'words', title: '字数', sort: true, width:135}
    ]]
    ,id: 'testReload'
    ,page: true
    ,height: 310
  });
  
  var $ = layui.$, active = {
    reload: function(){
      var demoReload = $('#demoReload');
      
      //执行重载
      table.reload('testReload', {
        page: {
          curr: 1 //重新从第 1 页开始
        }
        ,where: {
          key: {
            id: demoReload.val()
          }
        }
      });
    }
  };
  
  $('.demoTable .layui-btn').on('click', function(){
    var type = $(this).data('type');
    active[type] ? active[type].call(this) : '';
  });
});
</script>

</body>
</html>
2022-07-11 20:30
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
前端框架的代码直接抄另存为html,直接运行在王子的html,写个fsp 只要生成json就实现数据显示在前端框架了
2022-07-11 20:33
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
362924376加我qq
2022-07-12 18:41
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
LPARAMETERS m_IP, m_Port

SET TALK OFF
SET DATE ANSI
SET HOURS TO 24
SET CENTURY ON
LOCAL Call_Count
Call_Count = 0
SET LIBRARY TO VFPHttpServer.fll
&&连接到主进程
IF !HTTP_Connect(m_IP, VAL(m_Port))
    RETURN
ENDIF

LOCAL Ev as Boolean
LOCAL SessionSetted as Boolean     &&是否已设置了SESSION
SessionSetted = .F.
&&设置发送缓冲区大小
Http_SetChunkSize(1024)

Do While Http_IsConnected()
    m.Ev = HTTP_GetEvent(5000)    &&获得事件,有请求到达返回真,参数:整形,超时时间
    IF (m.Ev)
*!*    *!*        *以下演示COOKIE操作
            m.CookieValue    = Http_GetCookie("TNND")                    &&获得指定名称的COOKIE的值
            IF EMPTY(m.CookieValue)
                Http_SetCookie("TNND", "NTNND")                                &&设置COOKIE必须在第一次Write之前进行
            ENDIF
            
            HTTP_Write("Hello World! " + TTOC(DATETIME()) + " 第" + TRANSFORM(Call_Count) + "次复用" +CHR(13) + CHR(13))
            Call_Count = Call_Count + 1
*!*                *演示获得URL各部分内容,分别有以下几部分:
                *!*    HUF_PATH        = 3,
                *!*    HUF_QUERY        = 4,
            m.UrlPath = Http_GetUrlField(3)
            Http_Write("URL访问路径为:" + m.UrlPath + CHR(13) + CHR(13))
*!*               
*!*                *以下演示头域值获取,Http_GetHeader()也可以直接传入头域字段名
            m.oHeader = CREATEOBJECT("Empty")
            Http_Write( "头域Host的值为:" + Http_GetHeader("Host") + CHR(13))    &&传入头域名,返回头域的值,没找到则返回空字符
            m.HeaderItemSize = Http_GetHeader(-1)        &&传入负值,返回头域总数
            Http_Write("头域总数:" + TRANSFORM(m.HeaderItemSize) + CHR(13))
            FOR i=0 to m.HeaderItemSize - 1
                Http_GetHeader(i, m.oHeader)            &&传入不大于总数的正值(从0开始)和一个接收结果的对象,对象自动添加key和value属性
                Http_Write( 0h09 + m.oHeader.key + ":" + m.oHeader.value + CHR(13) )    &&对象中已设置好key和value属性
            ENDFOR
*!*    *!*               
*!*    *!*               
*!*                *以下演示查询参数的获取,Http_GetQueryField()函数里也可以直接传入参数名,没找到返回空字符串
            m.QueryFieldsCount = Http_GetQueryField(-1)    &&传入负数,获得查询参数的个数
            m.oQueryField = CREATEOBJECT("Empty")        &&创建一个“空”对象,用来接收键值对
            Http_Write( CHR(13) + "查询参数[" + TRANSFORM(m.QueryFieldsCount) + "]:" + CHR(13))
            FOR i=0 to m.QueryFieldsCount - 1
                Http_GetQueryField(i, m.oQueryField)    &&遍历查询参数,起始序号为0
                Http_Write( 0h09 + m.oQueryField.key + ":" + m.oQueryField.value + CHR(13))
            ENDFOR
*!*    *!*               
*!*    *!*                *以下演示POST数据的获取,Http_GetPostField()函数里也可以直接传入参数名,没找到返回空字符串
            m.FormFieldsCount = Http_GetFormField(-1)    &&传入负数,获得POST数据的个数
            m.oFormField = CREATEOBJECT("Empty")        &&创建一个“空”对象,用来接收键值对
            Http_Write( CHR(13) + "POST数据[" + TRANSFORM(m.FormFieldsCount) + "]:" + CHR(13))
            FOR i=0 to m.FormFieldsCount - 1
                Http_GetFormField(i, m.oFormField)        &&遍历POST数据,起始序号为0
                Http_Write( 0h09 + STRCONV(m.oFormField.key, 11) + ":" + STRCONV(m.oFormField.value, 11) + CHR(13))
            ENDFOR
            m.RawPostData = Http_GetPostRawData()
            Http_Write( CHR(9) + "原始数据:" + m.RawPostData + CHR(13))
*!*    *!*               
*!*    *!*                *以下演示SESSION操作
            IF !m.SessionSetted
                Http_SetSession("TMD", "TMD:" + TRANSFORM(DATETIME()), 900)    &&设置SESSION,最后一个参数为超时时间,可省略,默认900秒
                m.SessionSetted = .T.
            ENDIF
            m.SessionString = Http_GetSession("TMD")                    &&获得SESSION
*!*                Http_DelSession("TMD")                                    &&删除SESSION
            Http_Write( CHR(13) + "SESSION TMD = " + m.SessionString + CHR(13) + CHR(13))
*!*               
            
            Http_Write( "COOKIE:" + CHR(13) + CHR(9) + "TNND:" + m.CookieValue + CHR(13))

*!*    *!*            
            Http_Write("上传文件:" + 0h0D)   
            m.oFileInfo     = CREATEOBJECT("Empty")
            m.FileCount    = Http_GetFileInfo(-1)        &&传入负数,返回文件个数
            FOR i=0 to m.FileCount - 1
                IF Http_GetFileInfo(i, m.oFileInfo) = 0        &&正确获得数据返回 0
                    Http_Write( 0h09 + "上传文件名:" + m.oFileInfo.FileName + 0h09 + "文件大小:" + TRANSFORM(m.oFileInfo.FileSize) + " Bytes" + 0h09 + "表单名:" + m.oFileInfo.FieldName + 0h0d)
                ENDIF
            ENDFOR

            Http_End()        &&调用以后再写入均被忽略
        ELSE    &&空闲,可以干干其它事,相当于一个定时器,间隔时间由GetEvent的参数指定
        
        ENDIF
ENDDO
2022-07-19 22:04
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
免费的
fll项目.rar (1.52 MB)


[此贴子已经被作者于2022-7-24 13:40编辑过]

2022-07-20 18:33
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
我上传了个代码大家看看能不能在TEST中搞出来生成json的prg
2022-07-24 13:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509467-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.126415 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved