在所有文章中都写道,JavaScript是一种基于原型的语言,这意味着每个对象都有一个原型(或更确切地说,原型链).
到目前为止,我已经尝试了以下代码片段:
var F = function();
F.prototype.member1 = 1;
var object1 = new F();
console.log(object1.member1); // prints 1
Run Code Online (Sandbox Code Playgroud)
我怎样才能访问原型对象object1?有没有以浏览器为中心的方式(我的意思是,不依赖于__proto__财产?看到这个链接,但也许自2010年以来有新的发展)如果我不能,你能分享一下引擎背后的理由吗?
我必须在这里遗漏一些东西,但是下面的代码(Fiddle)返回一个空字符串:
var test = new Array();
test['a'] = 'test';
test['b'] = 'test b';
var json = JSON.stringify(test);
alert(json);
Run Code Online (Sandbox Code Playgroud)
JSON这个阵列的正确方法是什么?
嗨我正在使用Javascript创建一个带有键和一个值的对象数组,使用以下代码.
ValuesArray.push({ key: $(this).attr('someattribute'), value: $(this).val() });
Run Code Online (Sandbox Code Playgroud)
结果我有这样的对象数组:
key:29; value: 'Country'
Key:12; value: '4,3,5'
Run Code Online (Sandbox Code Playgroud)
当我试图对它进行字符串化并在帖子中发送JSON时,我有一个错误的格式化JSON与\和"在我不想要的地方,所以当我尝试在C#的代码隐藏中使用JSON作为JObject时,我遇到了麻烦如何使用stringify创建干净的JSON
var jObject = JSON.stringify(ValuesArray);
Run Code Online (Sandbox Code Playgroud)
我的JSON现在哪个错了是:
{
"JObject": "[{\"key\":\"29\",\"value\":\"Country\"}, {\"key\":\"30\",\"value\":\"4,3,5\"}]"
}
Run Code Online (Sandbox Code Playgroud)
我想有一个像这样的JSON对象
{
"JObject": [{"key":"29","value":"Country"},{"key":"30","value":"4,3,5"}]
}
Run Code Online (Sandbox Code Playgroud)
没有围绕[]和字符的引号\
任何好主意来解决它.
谢谢
更详细的说明我如何将JSON发送到我的API,这就是我将JSON发送到我的Web API的方式:
function PostAPIRequest(address) {
var jObject = JSON.stringify(ValuesArray);
var responseJson = null;
$.ajax({
url: address,
type: 'POST',
dataType: 'json',
data: { JObject: jObject },
success: function (data) {
responseJson = data
ProcessDataResponse(responseJson);
//TODO: REFRESH THE DATA GRID
},
error: function (xhr, ajaxOptions, thrownError) …Run Code Online (Sandbox Code Playgroud) 更新到bootstrap 2.3.0后,我注意到popover工具提示的奇怪行为.
如果您输入该字段并尝试离开,工具提示将消失并隐藏输入字段.此问题仅发生在最新版本的bootstrap,不确定究竟是什么改变,但2.2.2适用于Prototype.
jQuery.noConflict();
jQuery('input[data-content]').popover({
trigger: 'focus'
});
Run Code Online (Sandbox Code Playgroud)
这是工作示例:http://jsfiddle.net/U6EDs/4/
假设我有一个相当嵌套的JS对象,我需要对它进行JSON编码:
var foo = {
"totA": -1,
"totB": -1,
"totC": "13,052.00",
"totHours": 154,
"groups": [
{"id": 1,
"name": "Name A",
"billingCodes": [
{"bc": "25", "type": "hours", "hours": "5", "amount": "$25.00"}
]}
]
};
Run Code Online (Sandbox Code Playgroud)
如果我使用本机浏览器JSON.stringify(在Chrome,Firefox,IE9/10中测试)对其进行JSON编码,我会得到一个看起来像这样的JSON字符串(这是我所期望的):
{
"totA": -1,
"totB": -1,
"totC": "13,052.00",
"totHours": 154,
"groups": [
{
"id": 1,
"name": "Name A",
"billingCodes": [
{
"bc": "25",
"type": "hours",
"hours": "5",
"amount": "$25.00"
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试在使用PrototypeJS或json2.js的页面上执行相同的操作,则会出现奇怪现象.
在这种情况下,JSON.stringify …
我正在使用PHP和Javascript来构建某种Web服务.我尝试验证从JS发送到PHP的post参数计算的令牌.假设代码如下:
JS:
token = JSON.stringify(params);
Run Code Online (Sandbox Code Playgroud)
PHP:
token = json_encode($_POST);
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下为什么两个结果JSON字符串的长度不一样吗?
(我试图修改\n\r\tPHP,PHP中的stripslashes,几个JS库)字符串的PHP版本总是有更多的字符.
以下是我在两个不同页面上使用的客户端代码:
<script src='<%= Page.ResolveUrl("~/resources/js/jquery-1.6.4.min.js") %>' type="text/javascript"></script>re
<script type="text/javascript">
jQuery.noConflict();
</script>
<script src='<%= Page.ResolveUrl("~/resources/js/jquery.signalR-1.2.0.min.js") %>' type="text/javascript"></script>
<script src='<%= Page.ResolveUrl("~/signalr/hubs") %>' type="text/javascript"></script>
<script type="text/javascript">
jQuery(function () {
// Declare a proxy to reference the hub.
var usr = jQuery.connection.notificationHub;
jQuery.connection.hub.logging = true;
jQuery.connection.hub.qs = "clientId=arif";// +readCookie("personId");
jQuery.connection.hub.start().done(function () {
});
usr.client.showUsersOnLine = function (data) {
};
});
</script>
Run Code Online (Sandbox Code Playgroud)
在一个页面上它连接并正常工作,但在另一个页面上它给我以下错误:
[ArgumentException: Could not cast or convert from System.String to System.Collections.Generic.IEnumerable`1[Microsoft.AspNet.SignalR.Hubs.HubDispatcher+ClientHubInfo].]
Newtonsoft.Json.Utilities.ConvertUtils.EnsureTypeAssignable(Object value, Type initialType, Type targetType) +241
Newtonsoft.Json.Utilities.ConvertUtils.ConvertOrCast(Object initialValue, CultureInfo culture, Type targetType) …Run Code Online (Sandbox Code Playgroud) javascript ×5
json ×5
jquery ×2
arrays ×1
asp.net ×1
php ×1
popover ×1
prototype ×1
prototypejs ×1
signalr ×1