gpt4 book ai didi

javascript - 如何使用 jQuery.ajax 将 javascript 作为文本发布

转载 作者:行者123 更新时间:2023-11-30 18:19:23 26 4
gpt4 key购买 nike

我有一个表单,要求用户在文本区域中输入他们的 Google Analytics(分析)代码。然后我将这个字符串传递给 ajax post 并收到一条错误消息,指出我正在传递一个无效的对象。 (我没有在这里粘贴整个错误消息,因为它很长..)

正如预期的那样,Google Analytics 代码采用以下形式;

<script type="text/javascript">

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'some_number']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

</script>

我用它来发布到服务器:

        $.ajax({
type: "POST",
url: "Settings.aspx/setStats",
data: "{'skey': 'ga_code', 'sval':'" + el.val() + "'}",
dataType: "json",
contentType: "application/json; charset=utf-8"
}); // el.val() being the google analytics code..

我怎样才能在没有错误的情况下发布这个?另外,我也需要得到它,当用户需要更新它时..接收时也会出现同样的问题吗?

最佳答案

你的对象不是这样的;它是一个字符串,您将字符串作为对象传递。请尝试以下操作:

data: { skey: 'ga_code', sval: el.val() },

通常对象会被转换为查询字符串,如 the documentation page 中所述,但由于您将字符串传递给转换器,我相信它不会起作用。

更新:

看来我有点错了;上面不是有效的 json,下面应该可以工作,作为对上面的更正:

data: { "skey": "ga_code", "sval": el.val() }

键和值必须用双引号引起来,来自 what I am reading ,虽然我有点困惑,因为我使用 json 就像我第一次给你一样,没有任何问题。最后推荐this site测试您的 JSON 是否有效。

如果仍然不起作用,那么我建议将您的 contentType 更改为以下内容:

"application/x-www-form-urlencoded; charset=utf-8"

关于javascript - 如何使用 jQuery.ajax 将 javascript 作为文本发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12468759/

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