小编Ala*_*ira的帖子

React Axios - C#WebAPI请求令牌失败,没有服务器错误

我有以下代码:

var qs = require('qs');

const ROOT_URL = 'http://localhost:56765/';
const data = qs.stringify({ username, password, grant_type: 'password' });
axios.post(`${ROOT_URL}token`, data)
.then(response => {
    debugger;
    dispatch(authUser());
    localStorage.setItem('token', response.data.token);
})
.catch((error) => {
    debugger;
    dispatch(authError(error.response));
});
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我点击调试器并且错误对象Error: Network Error at createError (http://localhost:3000/static/js/bundle.js:2188:15) at XMLHttpRequest.handleError (http://localhost:3000/static/js/bundle.js:1724:14)在catch块中.但是,在Chrome的网络标签中,状态代码为200,但是当我点击此请求的响应/预览标签时,没有数据.如果我点击继续,我实际上会按预期在响应/预览选项卡中获取令牌和其他数据,但此时它已经到达了catch块,因此不会点击then块.

我甚至调试了后端,它没有发回错误,所以我认为这是一个前端错误.有谁知道是什么原因造成的?

编辑:

只是为了添加更多细节,如果我将请求更改为使用fetch而不是axios,我会收到不同的错误TypeError: Failed to fetch.用于呼叫的代码是:

fetch(`${ROOT_URL}token`, {
    method: 'POST',
    body: data
})
Run Code Online (Sandbox Code Playgroud)

此外,这是邮递员请求正常工作的示例: 在此输入图像描述

c# fetch asp.net-web-api reactjs axios

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

正则表达式:+ $ VS*$ VS无

在正则表达式中,^[a-zA-Z]+$和之间有什么区别^[a-zA-Z]*$.此外,我将能够不包括它在所有,要么^[a-zA-Z]$^[a-zA-Z].

我在网上查看它说+匹配前面的字符一次或多次并*匹配前面的字符零或一次,但我不知道这在这种情况下是什么意思,或者根本不是.

regex

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

使用 dispatch 和 getState 时的 Redux 动作返回类型

我正在努力弄清楚我的操作应该是什么返回类型。在我使用any时一切正常,但我试图避免使用any.

export const saveValue = (value: number): any => {
    return (dispatch: Dispatch<SaveValue>, getState: () => State): void => {
        axios.post('www.exampleurl.com', value)
            .then((response) => {
                const someValueFromState = getState().stateValue;
                const payload = {...response, someValueFromState}
                dispatch({ type: constants.SAVE_VALUE, payload });
            });
    };
};
Run Code Online (Sandbox Code Playgroud)

我之前在没有使用该操作时让它工作过getState(),它看起来像这样,它返回Dispatch<SaveValue>

export const saveValue = (value: number): Dispatch<SaveValue> => {
    return (dispatch: Dispatch<SaveValue>): void => {
        axios.post('www.exampleurl.com', value)
            .then((response) => {
                dispatch({ type: constants.SAVE_VALUE, response });
            });
    };
};
Run Code Online (Sandbox Code Playgroud)

但是一旦我添加了 …

typescript reactjs redux redux-thunk

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

Visual Studio Code - 灯泡未出现

我的 Visual Studio Code 曾经有自动导入功能。我会输入在另一个文件中导出的内容,当鼠标悬停在它上面时,会出现一个灯泡,我可以点击它使导入出现在顶部。灯泡似乎消失了。智能感知仍然存在,所以它知道什么存在,什么不存在,但我无法快速采取行动。

我尝试了以下方法来恢复它。

  • 卸载 VSCode,根据此答案删除设置和扩展。然后重新安装。
  • 确保设置Enables the code action lightbulb in the editor已启用。
  • 重启电脑

任何想法我还能尝试什么?

visual-studio-code

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

从控制台应用程序隐藏控制台窗口

我有一个使用控制台的应用程序,但我更改了所有代码以写入文件而不是控制台.我现在希望控制台在运行应用程序时停止显示.我该怎么做呢?我不知道什么是首先打开控制台,即使代码中没有写入任何内容.

我查看了应用程序引用,但找不到正在引用的System.Console.我虽然禁用它会修复它或指出我正确的方向有错误.我不知道还能在哪里看.

我在网上找到的所有其他内容都是关于隐藏控制台的.我希望它不会出现在第一位.

c#

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

使用DATEADD(),但仅当年份不是9999时

我试图执行SQL查询:

SELECT * 
FROM MyTable
WHERE GETDATE() AS CurrentDateTime < DATEADD(day, 1, EndDateTime)
Run Code Online (Sandbox Code Playgroud)

问题是一些EndDateTime的日期可能最多,当我尝试运行此查询时,我收到一个错误: Adding a value to a 'datetime' column caused an overflow.

如果日期有一年9999,我知道如何使用EndDateTime本身而不是EndDateTime + 1天?

sql-server

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

解析时使 DateTime 的日期前导零可选

我正在将字符串转换为 DateTime 并将字符串输入如下:

string dateTimeBeforeDayTen = '2/05/2016';
string dateTimeBeforeAfterTen = '12/05/2016';
Run Code Online (Sandbox Code Playgroud)

现在,如果我正在解析 dateTimeBeforeAfterTen,我知道我可以使用:

DateTime myDateTime;
DateTime.TryParseExact(dateTimeBeforeAfterTen, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out myDateTime);
Run Code Online (Sandbox Code Playgroud)

但是如果我想解析它们中的任何一个,我该怎么办?我知道我可以这样做:

DateTime myDateTime;
if(!DateTime.TryParseExact(dateTimeBeforeAfterTen, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out myDateTime));
    DateTime.TryParseExact(dateTimeBeforeAfterTen, "d/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out myDateTime);
Run Code Online (Sandbox Code Playgroud)

但有更好的方法吗?我将日期时间格式存储在数据库中,并希望将其保留为单个字符串。

c# datetime

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

语法错误:意外的标记,应为“;” 对于使用 Prettier 的 .css 文件

我正在尝试将 Prettier 与 eslint 和 TypeScript 一起使用。当我运行npm run prettier -- --list-different我的所有 css 文件时,都会出现错误SyntaxError: Unexpected token, expected ";"。我认为这是我设置解析方式的问题,但似乎无法使其正常工作。这是我目前的设置。

.eslintrc

{
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaVersion": 2018,
    "sourceType":  "module",
    "ecmaFeatures":  {
      "jsx":  true
    }
  },
  "extends": [
      "plugin:@typescript-eslint/recommended",
      "plugin:react/recommended",
      "prettier/@typescript-eslint",
      "plugin:prettier/recommended"
  ],
  "rules": {
    "no-console": "warn",
    "@typescript-eslint/explicit-function-return-type": ["warn", {"allowExpressions": true}]
  },
  "settings": {
      "react" : {
        "createClass": "createReactClass",
        "pragma": "React",
        "version":  "detect"
      }
  },
  "env": {
    "browser": true
  }
}
Run Code Online (Sandbox Code Playgroud)

.prettierrc

{
  "arrowParens": "avoid",
  "bracketSpacing": true,
  "htmlWhitespaceSensitivity": "css", …
Run Code Online (Sandbox Code Playgroud)

typescript eslint prettier

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

MVC项目中的jQuery错误:Datepicker不是函数

我认为这是什么:

@Html.TextBox("toDateFilter", "", new { @class = "datepicker" })
...etc
...etc


<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>

<script>
    $(document).ready(function () {
        $(".datepicker").datepicker();
    });
</script>
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:

Datepicker不是功能。

我遵循了所有其他类似问题的建议,但没有任何效果。我还将“视图”更改为这些导入:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/ui-lightness/jquery-ui.min.css" />
Run Code Online (Sandbox Code Playgroud)

我也试过这样:

var $j = jQuery.noConflict();
$j("#datepicker").datepicker();
Run Code Online (Sandbox Code Playgroud)

我也检查了jquery-ui.min.js文件是否正确加载。

任何想法为什么会出错?让我知道是否可以提供更多信息...

c# asp.net-mvc jquery datepicker

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

LINQ - 按列分组和Count()行(扩展方法)

我有一个看起来像这样的数据库:

ID DocumentName Name
1 Test1.txt Alan
2 Test2.txt Alan
3 Test3.txt Jane
4 Test4.txt Alan
5 Test5.txt Bob
Run Code Online (Sandbox Code Playgroud)

现在我想使用一个LINQ查询,它将使用名称的键和每个名称的行数给我这个结果:

Name Count
Alan 3
Jane 1
Bob 1
Run Code Online (Sandbox Code Playgroud)

请问你能用扩展方法回答吗?我觉得我错过了一些简单的东西,但我似乎无法找到答案.

c# linq

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

没有参数的C#存储过程

我正在尝试使用从dbcontext继承的类来运行不带参数的存储过程。这是我的代码:

MyDBContext _myDBContext = new MyDBContext();
_myDBContext.Database.SqlQuery("MyStoredProcedure", new SqlParameter());
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为它正在寻找错误的过载。即使我使用的是字符串,也可以使用object []。

如果我在那里有参数,它就可以工作。我已经用其他存储过程做到了这一点,例如:

IEnumerable<MyClass> tempMyClass =
_myDbContext.Database.SqlQuery<MyClass>(
    "myStoredProcedure @ID",
    new SqlParameter("@ID", 5));
Run Code Online (Sandbox Code Playgroud)

知道我要去哪里错了吗?

MyDBContext定义

class MontagueDBContext : DbContext, IUnitOfWork 
{ 
    public MontagueDBContext() : base("name=MontigueApp") 
    { 
        AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Directory.GetCurrentDirectory()); 
    } 

    public IDbSet<Permit> Permits { get; set; } 

    public void ChangeEntityState<TEntity>(TEntity item, EntityState entityState) where TEntity : class 
    { 
        this.Entry(item).State = entityState; 
    } 

    public EntityState GetEntityState<TEntity>(TEntity item) where TEntity : class 
    { 
        return this.Entry(item).State; 
    } 

    public new int SaveChanges() 
    { 
        return base.SaveChanges(); 
    } 
}
Run Code Online (Sandbox Code Playgroud)

c# stored-procedures entity-framework

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