gpt4 book ai didi

javascript .data() 将字符串内容按空格剪切

转载 作者:行者123 更新时间:2023-12-03 01:37:01 24 4
gpt4 key购买 nike

所以,我遇到了这个问题,我在网络应用程序中有一个后退按钮。这是按钮的 javascript 代码:

function getPrevFunction()
{
localDBSelect("prevViews", function (prevViews)
{
if (prevViews)
{
var prevViewObject = $.parseJSON(prevViews);
var prevViewArray = prevViewObject['funcObjects'];
if (prevViewArray.length > 1)
{
var prevArrayIndex = prevViewArray.length - 2;
var actArrayIndex = prevViewArray.length - 1;
var prevFuncObject = prevViewArray[prevArrayIndex];
var prevFunc = prevFuncObject['function'];
var prevConfig = prevFuncObject['config'];
var inData = prevFuncObject['inData'];
prevViewArray.splice(actArrayIndex, 1);

if (inData !== "")
{
if (prevFunc !== "getGuiSiteList")
{
inData = "<div data-param=" + JSON.stringify(inData) + ">";
}
$('#fieldcontain')[prevFunc](inData, prevConfig);
}
else {
$('#fieldcontain')[prevFunc](prevConfig);
}

if (prevViewArray.length === 1)
{
setVisibilityForBackBtn(false); //If last..
}

prevViewObject['funcObjects'] = prevViewArray;
localDBInsert("prevViews", JSON.stringify(prevViewObject));
}
else {
setVisibilityForBackBtn(false);
}
$('#subcontainer').html("");
if(!$('#fieldcontain').is(":visible"))
{
$('#fieldcontain').show();
}
}
});
}

我的问题是我并不总是获得 json 对象的全部内容。例如; json,一开始看起来像这样: input = {站点:“GAV”,位置:“EG”,设置:“INVENTORY”,binnum:“B01 T09”}

但是在我尝试使用 html 元素获取作为数据/属性传递的 json 后,如下所示:var input = $(inData).data("param");

我收到的值如下:input = "{"site":"GAV","location":"EG","set":"INVENTORY","binnum":"B01"

正如您所看到的,它由于某种原因切断了空格后面的所有字符,尽管最后一个函数被添加到列表中,然后再次调用该函数之间没有发生任何事情,也能够继续在应用程序中向后。

我确实意识到我的解释很困惑并且可能难以理解,但这是我能解释的最好的。如果需要的话我可以提供更多代码。

所以,我确实需要 getPrevFunction 的整个 json(它作为“prevViews”传递)

最佳答案

使用 encodeURIComponent()decodeURIComponent() 如下

设置数据

inData = "<div data-param=" + encodeURIComponent(JSON.stringify(inData)) + ">";

获取数据

var input = JSON.parse(decodeURIComponent($(testDv).data('param')));

现在,由于空白,对象中不会出现任何切割。

关于javascript .data() 将字符串内容按空格剪切,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51024627/

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