相关疑难解决方法(0)

如何在javascript中访问对象原型?

在所有文章中都写道,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年以来有新的发展)如果我不能,你能分享一下引擎背后的理由吗?

javascript prototype prototypal-inheritance

59
推荐指数
3
解决办法
7万
查看次数

JSON.stringify不适用于普通的Javascript数组

我必须在这里遗漏一些东西,但是下面的代码(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 json

55
推荐指数
3
解决办法
12万
查看次数

使用JSON.stringify向我的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)

javascript arrays serialization json deserialization

26
推荐指数
3
解决办法
6万
查看次数

如果与Prototype JS一起使用,Popover会隐藏父元素

更新到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/

jquery popover prototypejs twitter-bootstrap

11
推荐指数
3
解决办法
8214
查看次数

注意到JSON.stringify的不同实现之间的奇怪区别

假设我有一个相当嵌套的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字符串(这是我所期望的):

原生JSON.stringify JSFiddle示例

{
    "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)

如果我尝试在使用PrototypeJSjson2.js的页面上执行相同的操作,则会出现奇怪现象.

在这种情况下,JSON.stringify …

javascript json

7
推荐指数
1
解决办法
285
查看次数

PHP的json_encode和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版本总是有更多的字符.

javascript php json

5
推荐指数
2
解决办法
2万
查看次数

SignalR:无法从System.String转换或转换为System.Collections.Generic.IEnumerable

以下是我在两个不同页面上使用的客户端代码:

<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)

asp.net jquery json signalr

4
推荐指数
1
解决办法
1675
查看次数