小编Roy*_*ari的帖子

jQuery Ajax - 如何获取错误的响应数据

我有一个简单的Web应用程序.我已经创建了服务器REST API,因此它将返回带有HTTP代码的响应和带有更多详细信息的JSON(或XML)对象:应用程序代码(特定于场景,描述发生了什么的消息等).

因此,例如,如果客户端发送注册请求且密码太短,则响应HTTP代码将为400(错误请求),响应数据将为:{appCode : 1020 , message : "Password is too short"}.

在jQuery中,我使用"ajax"函数来创建POST请求.当服务器返回与HTTP代码200(OK)不同的内容时,jQuery将其定义为"错误".

错误处理程序可以获得3个参数:jqXHR,textStatus,errorThrown.我可以在错误的情况下获取服务器发送的JSON对象吗?

编辑:

1)这是我的JS代码:

function register (userName, password) {
    var postData = {};
    postData["userName"] = userName;
    postData["password"] = password;

    $.ajax ({
        dataType: "json",
        type: "POST",
        url: "<server>/rest/register",
        data: postData,
        success: function(data) {
            showResultSucceed(data);
            hideWaitingDone();
        },
        error: function (jqXHR, textStatus, errorThrown) {

            showResultFailed(jqXHR.responseText);
            hideWaitingFail();
        }
    })
}
Run Code Online (Sandbox Code Playgroud)

2)在查看Firebug控制台时,响应似乎是空的.当使用REST测试工具调用相同的请求时,我得到了一个带有JSON对象的响应.

我究竟做错了什么?

javascript jquery

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

将Angular模板拆分为多个小模板

在我的Angular应用程序中,我试图了解将页面拆分为组件的正确方法.

更改前的页面类似于:

<div id='settings'>

  <p class='controlGroup' ng-controller="FirstCtrl">
    <label class='control-label'>First Control</label>

    <div class="control">
        <!-- some inputs -->
    </div>
  </p>

  <p class='controlGroup' ng-controller="SecondCtrl">
    <label class='control-label'>Second Control</label>

    <div class="control">
        <!-- some inputs -->
    </div>
  </p>

    </p>


  <button id='saveBtn' class='saveButton' ng-click='saveSettings()'>Save Changes</button>

</div>
Run Code Online (Sandbox Code Playgroud)

虽然控制逻辑分为两个不同的控制器,但我也希望将它们分开,因此很容易重用它们或将它们移动到不同的位置.

我看到很多选择:ng-include,script标签等.

这样做的正确方法是什么?

angularjs

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

如何在Java KeyStore中存储一个简单的密钥字符串?

我的FS(S3 AWS密钥)上有一个文件,其中包含一个字符串,该字符串是我用于加密过程的密钥.

我想将它移动到Java KeyStore.

我知道如何使用keytool将证书导入KeyStore,但我找不到导入简单字符串键的方法.

你能帮我吗?

java keystore

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

角度形式 - 仅发送已更改的字段

我正在创建一个Web客户端,它使用带有角度的设置Web API.有很多设置,它们都是可选的.如果我发送设置,则应保存.未发送的设置不应更改.

要求是为所有设置设置一个" 保存更改"按钮.

我想知道Angular中是否有某种方法可以实现这一点.

我想过不使用HTML form并收集数据并自己创建ajax请求,但后来我将失去验证机制(这与Angular-UI验证工作良好).

我考虑将表单拆分为小表单并仅ng-dirty提交不是false 的表单,但如果某些请求失败(这违反了要求),这可能会导致部分保存.

任何的想法?

angularjs

9
推荐指数
2
解决办法
9778
查看次数

用于在Angular.js中组织和加载CSS的模式

在我的Angular应用程序中,我想以模块化方式加载css文件 - 每个模块都有自己的css文件.这样我就可以轻松添加,删除或移动模块.

到目前为止我发现的最好的方法是创建一个服务:

angular.module('cssLoadingService', []).factory("CssLoadingService", function () {
  return {
    loadCss: function (url) {
      if (document.createStyleSheet) { //IE
        document.createStyleSheet(url);
      } else {
        var link = document.createElement("link");
        link.type = "text/css";
        link.rel = "stylesheet";
        link.href = url;
        document.getElementsByTagName("head")[0].appendChild(link);
      }
    }
  };
});
Run Code Online (Sandbox Code Playgroud)

每个控制器加载它的模板css.虽然我注入了路径(通过另一个服务),但仍然感觉我打破了逻辑和视图之间的分离.

它有任何其他优雅的方式(不包括将css文件打包成一个巨大的文件)?

css angularjs

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

SQL Server不会打开Visual Studio创建的数据库

我在Visual Studio中构建了一个ASP.Net站点,并在其中创建了DB(.mdf文件位于APP_data文件夹中).

现在,当我想在客户站点部署时,我考虑在不打开Visual Studio的情况下维护数据库,并使用SQL Server Express工具(备份等).

我已经搜索了如何做到这一点,并了解到我应该将.mdf文件附加到sql server.

我试过这样做但失败了!

错误是:无法打开物理文件"<.mdf>".操作系统错误5:"5(无法检索此错误的文本.原因:15105)".(Microsoft SQL Server,错误:5120)

谷歌没有帮助我解决这个问题.

现在我有两个选择:1.在当前情况下放弃和部署站点,其中DB是.mdf文件,ASP.Net可以通过SQL Server express compact(在proccess中)连接到它.

  1. 要提取所有数据(我需要考虑如何...)并将其导入新数据库,这次是在SQL Server DB中.

你会推荐Wat吗?

先感谢您.

asp.net sql-server-express

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

Eclipse类型字体颜色

我将从VS迁移到Eclipse.对我来说,它是更丰富的IDE,但有一些我想念的VS功能:设置类型(如:字符串,MyType等)颜色与其他文本不同.

在Eclipse中,我发现许多主题会改变整个外观,但我不想完全更改默认主题.我只想要颜色类型,因此很容易注意到它们.

我想这个选项存在,我找不到它.

eclipse

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

字符串加入和复杂性?

当我需要连接两个字符串时,我使用String.Format(或StringBuilder,如果它发生在代码中的几个地方).

我看到一些优秀的程序员不会注意字符串加入复杂性而只是使用'+'运算符.

我知道使用'+'运算符会使应用程序使用更多内存,但复杂性又如何呢?

c# string complexity-theory

4
推荐指数
2
解决办法
1730
查看次数

通过MessageDigest了解Java中的散列密码

我正在创建一个简单的Web应用程序,并希望将散列密码存储到数据库中.我也需要身份验证令牌的哈希函数(连接用户名和日期,并将它们的哈希值作为令牌发送给客户端).

我发现MessageDigest Java类可以帮助我解决这个问题.这是一个链接.基本想法是这样的:

public String digestString (String stringToHash) throws NoSuchAlgorithmException {
    MessageDigest sha256 = MessageDigest.getInstance("SHA-256");        
    byte[] stringBytes = stringToHash.getBytes();
    byte[] stringDigest = sha256.digest(stringBytes);
    return new String(stringDigest);
}
Run Code Online (Sandbox Code Playgroud)

我得不到的是: 在这段代码中,我该如何设置哈希键?我需要确保在验证过程中使用相同的密钥.如果我没有设置密钥,我怎么能这样做?

顺便说一句:我知道我应该在哈希值之前添加一个盐(在这种情况下为256字节)到散列文本.

java cryptography hash-function

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

GIT不强迫许多大合并吗?

我正在进入GIT世界,但似乎GIT有一个巨大的劣势.因为您正在提交到您自己的本地存储库,并且只有在您提交给外部世界的几次提交之后,它是否会创建许多大型合并?

git

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

基于服务器创建新的GIT分支,无需本地更改

我想我缺少一些关于 GIT 分支的基本概念。

假设我已经在我的机器上克隆了一个存储库,并开始工作(在本地“master”上)。

现在有人告诉我生产中的一个错误。

我想停止我正在做的所有事情(修改的归档和未推送的提交),创建一个基于服务器的功能分支,而不需要我在本地进行的更改,修复错误,提交并推送,然后返回到 master ,变基并继续工作。

我认为以下方法会起作用:

$ git clone <some repo>
$ vim text.txt
$ git checkout -b bugFix
Run Code Online (Sandbox Code Playgroud)

问题是分支“bugFix”包含我在 master 的状态中所做的更改。

如何创建一个干净的分支?

git git-branch

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