相关疑难解决方法(0)

什么时候更喜欢JSON而不是XML?

我的要求就是在展开时显示从数据库中检索的一组值.我正在使用jquery.

javascript xml jquery json

146
推荐指数
9
解决办法
3万
查看次数

使用HTML5 localStorage在GWT app/widget中缓存

我正在尝试为我的一个GWT小部件合并一个数据缓存.
我有一个数据源接口/类,它通过我的后端RequestBuilder和JSON 检索一些数据.因为我多次显示窗口小部件,所以我只想检索一次数据.

所以我尝试使用app缓存.天真的方法是HashMap在单例对象中使用a 来存储数据.但是,如果支持,我还想使用HTML5的localStorage/sessionStorage.
HTML5 localStorage仅支持String值.所以我必须将我的对象转换为JSON并存储为字符串.但不知何故,我无法想出一个干净利落的方式.这是我到目前为止所拥有的.

我定义了一个具有两个函数的接口:fetchStatsList()获取可以在窗口小部件中显示的统计信息列表并fetchStatsData()获取实际数据.

public interface DataSource {
    public void fetchStatsData(Stat stat,FetchStatsDataCallback callback);
    public void fetchStatsList(FetchStatsListCallback callback);
}
Run Code Online (Sandbox Code Playgroud)

Stat班是一个简单的JavaScript覆盖类(JavaScriptObject)与一些干将(的getName()等),我有一个正常的非超高速缓存实现RequestBuilderDataSource我的数据源,它看起来像如下:

public class RequestBuilderDataSource implements DataSource {
    @Override
    public void fetchStatsList(final FetchStatsListCallback callback) {
         // create RequestBuilderRequest, retrieve response and parse JSON 
        callback.onFetchStatsList(stats);
    }

    @Override
    public void fetchStatsData(List<Stat> stats,final FetchStatsDataCallback callback) {
        String url = getStatUrl(stats);
        //create RequestBuilderRquest, retrieve response and parse JSON
        callback.onFetchStats(dataTable); …
Run Code Online (Sandbox Code Playgroud)

java gwt html5 caching local-storage

6
推荐指数
1
解决办法
2876
查看次数

如何从angular.js资源中获取数字数组?

我的RESTful API返回一个数组:

GET /test => [1367297123312,1.0,2.0,3.0,100]
Run Code Online (Sandbox Code Playgroud)

我有一个服务:

(angular
 .module('app.services', ['ng', 'ngResource'])
 .factory('myData', [
     /******/ '$resource',
     function ($resource) {
         return $resource('test');
     }])
);
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我需要得到数字.我试过了:

(angular
 .module('app.controllers', ['ng', 'app.services'])
 .controller('tweetsapiContr', [
     /******/ '$scope', 'myData',
     function ($scope,   myData) {
         myData.get({}, function (data) {
             console.log(data);
         };
     }
 ])
);
Run Code Online (Sandbox Code Playgroud)

上面给我TypeError: Object #<h> has no method 'push'的错误,如果我用query,而不是get在服务,它返回有类似的方法对象的数组$get,$save等等,但调用$get例如回报undefined.

如何获得数字?从服务器响应哈希工作,但我试图弄清楚如何使它与数组一起工作.

javascript angularjs

5
推荐指数
3
解决办法
9205
查看次数

使用JSON和Javascript非常困惑(并担心)安全性

我一直试图对这个主题做一些研究,甚至引用以下Stack Overflow线程:

Javascript劫持 - 何时以及我应该担心多少

JSON安全最佳实践

但我的基本问题是这个.

当我构建我的Web应用程序时,我使用的工具包括Fiddler,Chrome开发者工具,Firebug等.我可以随时更改内容以进行测试.我甚至可以使用fiddler来更改发送到服务器的数据.

什么阻止别人打开我的网页并这样做呢?如果用户只需点击F12并打开Chrome Developer工具,并更改通过网络发送的数据,那么全世界的所有jQuery验证都是无用的,对吧?

我在这个领域仍然相对较新,这让我非常担心,因为我看到"开放式"协议变得越来越普遍.我还不了解SSL(这是我开始研究的事情列表),所以也许这就是答案,我只是没有深入挖掘.但是操纵我的页面的灵活性似乎非常极端 - 这让我非常担心恶意可以做什么.

javascript security json

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

如何在ASP.NET WebAPI MediaTypeFormatter中检索HTTP请求方法?

我想在ASP.NET WebAPI函数返回JSON时抛出异常,其中值为IEnumerable且HTTP请求方法为GET - 希望停止在顶级是数组的情况下生成任何JSON.

我试图通过创建MediaTypeFormatter来做到这一点.我能做到吗?还有另外一种方法可以做到这一点吗?谢谢.

就像是:

public class CustomFormatter : MediaTypeFormatter
{
    public override Task WriteToStreamAsync(Type type, object value, Stream stream, HttpContentHeaders contentHeaders, TransportContext transportContext)
    {
        // Retrieve value for isGetRequest somehow...
        if (value is IEnumerable && isGetRequest)
        {
            throw new InvalidOperationException();
        }
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc json asp.net-web-api

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