小编Dev*_*ran的帖子

如何使用角度ng-repeat来迭代javascript Map

我正在开发一个Angualr应用程序,我们有一个Map对象(如下所示).map对象(headerObj)的键和值来自用户作为应用程序的输入,

  var headerObj = new Map();
  headerObj.set(key,value);
Run Code Online (Sandbox Code Playgroud)

我正在使用foreach迭代它们,如下所示,输出正如预期的那样

           $scope.inputHeaders.forEach(function (headerkey, headervalue) {
                     console.log(headerkey, headervalue; 

                });
Run Code Online (Sandbox Code Playgroud)

但我必须在UI中显示这个地图值,用户可以再次编辑,所以我已将它们绑定

          <li class="list-group-item" ng-repeat="header in inputHeaders">
              <div ng-repeat="(key, value) in header">
                  {{key}} : {{value}}
             </div>
          </li>
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索并尝试了几种方法,但没有任何帮助,所以基本上我想知道如何使用forEach在角度上迭代地图?

为了更清晰,我的要求是这样的:我需要将值作为键,值对传递给服务器,只有在我没有错的情况下,假设我使用对象属性,对象的键将被修复为某些东西喜欢

       {"key":"Content-Type","value":"application/x-www-form-urlencoded","$$hashKey":"003"}]
Run Code Online (Sandbox Code Playgroud)

但我的服务器期待像

        "Content-Type" => "application/x-www-form-urlencoded"
Run Code Online (Sandbox Code Playgroud)

创建了一个plunkr编辑 http://plnkr.co/edit/t2g6Dl831HGyjD6uSdf3?p=preview

javascript angularjs angularjs-ng-repeat

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

该请求被重定向到"https://..com/site/login?",这对于需要预检的跨源请求是不允许的

在发布这个问题之前,我已经完成了大部分的堆栈溢出问题,但我没有得到答案

我正在尝试访问一个客户端api,它将进行Oauth身份验证,所以当我调用api它应该抛出一个类似于fb auth的身份验证的弹出窗口,但我最终在我的chrome控制台中出现错误,如下所示

XMLHttpRequest无法加载https://api.springrole.com/authorize
scope = XXXX&redirect_uri = http:// localhost:8080/CheckRest/springrole.html&response_type = XXXX&client_id = XXXXXXXX.该请求被重定向到" https://springrole.com/site/login?api_login=1&scope=XXXX&state=&error=invalid_request ",这对于需要预检的跨源请求是不允许的.

为了安全起见,我刚刚用XXX掩盖了一些值.我的需求如下所示

 $http({
        method : 'GET',

        url : url,
        headers : {
            'Content-Type' : 'application/json',
                "Access-Control-Allow-Origin": "https://api.springrole.com",
                "Access-Control-Allow-Methods":"GET",
                    "Access-Control-Allow-Credentials": true
        }
    }).success(function(data, status, headers, config) {
        $scope.details.response = JSON.stringify(data);

        console.log("success" + data)
    })
Run Code Online (Sandbox Code Playgroud)

如果我删除请求中的标题我得到以下显示的错误

请求的资源上不存在"Access-Control-Allow-Origin"标头.因此,不允许来源" http:// localhost:8080 "访问.

任何建议或工作将不胜感激.

google-chrome http cors angularjs

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

实现自定义hibernate类型

我正在尝试将hibernate映射实现为Oracle默认安装提供的示例模式(Order Entry)orderentry模式有几个表,其中一个是Customer表,其中有少量列作为customTyped列,例如使用以下语句创建自定义类型;

CREATE OR REPLACE TYPE "CUST_ADDRESS_TYP"  AS OBJECT
( street_address     VARCHAR2(40)
, postal_code        VARCHAR2(10)
, city               VARCHAR2(30)
, state_province     VARCHAR2(10)
, country_id         CHAR(2)
);
Run Code Online (Sandbox Code Playgroud)

并使用以下语句创建customer表

CREATE TABLE OE.CUSTOMERS 
( 
 CUSTOMER_ID NUMBER (6)  NOT NULL , 
 CUST_FIRST_NAME VARCHAR2 (20 BYTE) 
 CONSTRAINT CUST_FNAME_NN NOT NULL , 
 CUST_LAST_NAME VARCHAR2 (20 BYTE) 
 CONSTRAINT CUST_LNAME_NN NOT NULL , 
 CUST_ADDRESS OE.CUST_ADDRESS_TYP , 
 )
Run Code Online (Sandbox Code Playgroud)

我开始知道我们需要UserType这里实现接口,但是当我尝试检索它时发出错误

 org.hibernate.MappingException: property mapping has wrong number of columns: com.dto.oe.Customers.cust_addressData type: com.dto.oe.CustAddressType
            at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:497)
at org.hibernate.mapping.RootClass.validate(RootClass.java:270)
at org.hibernate.cfg.Configuration.validate(Configuration.java:1360) …
Run Code Online (Sandbox Code Playgroud)

java oracle hibernate custom-type

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