AngularJS $ http.get包含具有空值的参数

时间:2019-02-26 03:37:47

标签: angularjs

我遇到了一个奇怪的问题,无法解决。当我使用

之类的参数调用$http.get
{oneId: 111
 twoId: 222
 stringValue: null}

然后stringValue不存在,请求像这样

http://my-uri.com/action?oneId=111&twoId=222

但是如果将stringValue设置为undefined,那么一切正常。怎么了?

1 个答案:

答案 0 :(得分:2)

null是一个保留关键字,这就是为什么它会这样。您可以通过多种方式解决此问题-

  1. 使用asp.net网络api时-您可以重写操作-
public IHttpActionResult someAction(long oneId, long twoId, string stringValue = null)

这样,如果stringValue没有在参数中传递,则它将被接收为null。

  1. 您可以将null作为字符串发送到get方法中-
{oneId: 111
 twoId: 222
 stringValue: "null"}

发送空字符串("")而不是"null"也是一种选择。

  1. 也按照this的答案-发送url编码的空值(%00)也将起作用。