以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  删除数据‘求助  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189034)

--  作者:shunchang
--  发布时间:2023/11/6 20:46:00
--  删除数据‘求助
后端代码
Dim sb As New StringBuilder
Select Case e.Path
    Case "gzdel.htm" \'删除订单
        e.Response.AddHeader("Access-Control-Allow-Origin", "*")
        e.Response.AddHeader("Access-Control-Allow-Methods", "OPTIONS,GET,POST,PUT,PATCH,DELETE") 
        If e.GetValues.ContainsKey("订货ID") Then
            Dim cnt As Integer
            cnt = DataTables("产品库_固装家具").SQLDeleteFor("[_Identify] = " & e.GetValues("订货ID"))
            If cnt > 0 Then
                Output.Show("删除成功!")
            Else
                Output.Show("删除失败!")
            End If
        Else
            Output.Show("糟糕,可能出错了!")
        End If
End Select



前段代码可以执行 但是后端数据没有删除 求助老师

Case \'del\':
    layer.confirm(\'您确定删除当前记录吗?\',{icon:3,title:\'确认删除\'},function(index){
    obj.del();
    var delspecifyID = \'订货ID=\'+obj.data[\'订货ID\']    
    layer.alert(delspecifyID);
    $.ajax({
    data: delspecifyID, 
    url:\'http://192.168.110.147/gzdel.htm\',    
    type:\'POST\',
    dataType: \'json\',    
    success:Function (res){
    console.log(res)
    If (res.code =  = 200){ Then
        obj.del();
        layer.close(index); /  / 关闭弹框
        }
        }
        }); 
        });
        break;

--  作者:有点蓝
--  发布时间:2023/11/6 21:01:00
--  
后的测试的时候Output.Show显示了哪个内容?
--  作者:shunchang
--  发布时间:2023/11/6 21:09:00
--  
前后端都没有任何显示

后端怎么获取前端数据 获取到后怎么判断数据类型
[此贴子已经被作者于2023/11/6 21:10:48编辑过]

--  作者:有点蓝
--  发布时间:2023/11/6 21:19:00
--  
如果是发布后的项目,Output.Show改为使用messagebox.show调试;如果是源项目,打开命令窗口查看Output.Show结果。

后端获取到的文本统一都是字符串。没有其它数据类型。

如果是发送的json数据,服务端应该使用e.PlainText获取,而不是e.GetValues。

如果前端要发送json数据,感觉应该是这样才对
……
var delspecifyID = {订货ID:obj.data[\'订货ID\']}    
    layer.alert(delspecifyID);
    $.ajax({
    data: delspecifyID , 
……

--  作者:shunchang
--  发布时间:2023/11/6 21:20:00
--  
现在显示是是    糟糕,可能出错了
改成了
var delspecifyID = {订货ID:obj.data.订货ID};
错误如下
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:自定义函数,表单删除
详细错误信息:
调用的目标发生了异常。
无法访问已释放的对象。
对象名:“System.Net.HttpListenerRequest”。
[此贴子已经被作者于2023/11/6 21:27:37编辑过]

--  作者:有点蓝
--  发布时间:2023/11/6 22:19:00
--  
贴出函数完整代码

贴出外部调用这个函数的完整代码

--  作者:shunchang
--  发布时间:2023/11/6 22:51:00
--  
太多 打包
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:前后端代码.txt


--  作者:有点蓝
--  发布时间:2023/11/6 22:56:00
--  
贴出httprequest调用【表单删除】这个函数的完整代码
[此贴子已经被作者于2023/11/6 22:56:24编辑过]

--  作者:shunchang
--  发布时间:2023/11/6 22:59:00
--  
Dim e As RequestEventArgs = args(0)
Dim sb As New StringBuilder
Select Case e.Path
    Case "gzdel.htm" \'删除订单
        e.Response.AddHeader("Access-Control-Allow-Origin", "*")
        e.Response.AddHeader("Access-Control-Allow-Methods", "OPTIONS,GET,POST,PUT,PATCH,DELETE")
        Dim ID As String = e.Values("订货ID")
        If e.GetValues.ContainsKey("ID") Then
            DataTables("产品库_固装家具").SQLDeleteFor("订货ID =   \'" & ID & "\'")
            If cnt > 0 Then
                MessageBox.Show("删除成功!")
            Else
                MessageBox.Show("删除失败!")
            End If
        Else
            MessageBox.Show("糟糕,可能出错了!")
        End If
End Select

--  作者:有点蓝
--  发布时间:2023/11/6 23:12:00
--  
不是表单删除】这个函数自己的代码,而是httprequest调用【表单删除】这个函数的代码