gpt4 book ai didi

javascript - 如何将 SAFEARRAY(字节数组)放入 HTML 隐藏字段

转载 作者:行者123 更新时间:2023-11-28 08:19:12 25 4
gpt4 key购买 nike

我想从 active-x 组件获取字节数组,将其存储在 html 表单输入隐藏字段中,然后通过表单提交将其传递给服务器。我怎样才能做到这一点?

MIDL:

HRESULT Data([out, retval] SAFEARRAY(VARIANT) *pArray);

C++/ATL

STDMETHODIMP MyActiveX::get_Data(SAFEARRAY **pArray)
{
CComSafeArray<BYTE> arr;
for (int i = 0; i < 10; i++)
{
CComVariant a;
a = (BYTE)i;
arr.Add(a);
}

arr.CopyTo(pArray);
return S_OK;
}

Javascript:

  $("#hiddenField").val(myActiveX.Data);

浏览器告诉我:类型不匹配

最佳答案

虽然我不了解你的具体情况,但我以前见过一些类似的情况。

使用 $('#hiddenField') 将数据放在字段中是正确的。如果您在该字段上放置了一个 name 属性,使其成为 HTTP 提交的一部分,那么该部分就很好。

至于myActiveX.Data,我想这是某种JavaScript 对象。请记住,只能将字符串放入 HTML 输入;它不保存二进制数据。

我要做的是在 $("#hiddenField").val(myActiveX.Data); 之前放置一个断点
。如果您不熟悉它,请使用 debugger 关键字。在调试器中运行代码并查看 myActiveX.Data 值的结构。它可能有某种包装字段。

或者,如果您无法访问良好的 JavaScript 调试器,请尝试以下“

for(x in myActiveX.Data)
alert(x + ": " + myActiveX.Data[x]);

关于javascript - 如何将 SAFEARRAY(字节数组)放入 HTML 隐藏字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6578840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com