标签: params

Backbone.js路由器中的键值对参数处理

我想将键值对作为参数传递给Backbone路由,并希望在调用映射函数之前将其反序列化为javascript对象.

var MyRouter = Backbone.Router.extend({
  routes: {
    "dashboard?:params" : "show_dashboard"
  },
  show_dashboard: function(params){
     console.log(params); 
  }
}); 
Run Code Online (Sandbox Code Playgroud)

当我转到"http://...#dashboard?key1 = val1&key2 = val2"时,应在控制台上打印{key1:"val1",key2:"val2"}.

我目前在每个映射函数中使用jQuery BBQ的$ .deparam方法来获取反序列化的对象.如果我可以扩展路由器并将其定义一次就可以了,因此可以在所有映射函数中作为对象访问params.什么是干净的方式来做到这一点?这有什么陷阱?

非常感谢,

马诺

javascript params query-parameters backbone.js

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

params参数,带有默认参数值

我已经看过params参数的次数比我说的多,并且在不考虑它的意义的情况下总是将其删除.现在我已经了解了它的目的.我刚学到的是params参数必须是参数列表中的最后一个.但这是我了解指定默认值的参数.例:

MyMethod(string Name, int blah=0). 
Run Code Online (Sandbox Code Playgroud)

所以问题是如果我需要在需要使用时指定上面的默认值params,可以这样做吗?如果是这样,必须在最后宣布?例:

MyMethod(int blah=0, params string[] variableData). 
Run Code Online (Sandbox Code Playgroud)

再次感谢您的帮助.詹姆士

c# params

8
推荐指数
2
解决办法
6938
查看次数

将数组作为`params`参数传递

我有以下方法:

void MyMethod(params object[] args)
{
}
Run Code Online (Sandbox Code Playgroud)

我试图用类型的参数调用object[]:

object[] myArgs = GetArgs();
MyMethod(myArgs);
Run Code Online (Sandbox Code Playgroud)

它编译很好,但在MyMethod我内部args == { myArgs},即一个数组,其中一个元素是我的原始参数.显然我想拥有args = myArgs,我做错了什么?

编辑:
Jon Skeet实际上是对的,GetArgs()确实将事物包装在一个元素数组中,对不起愚蠢的问题.

.net c# params

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

通过cURL POST请求向Sinatra发送JSON

我已经使用Sinatra创建了一个简单的API,它根据提交的JSON数据发送电子邮件.我可以创建一个表单,通过表单提交JSON数据,并访问params以获取电子邮件的主题,主题和正文.但是,我正在尝试使用cURL来测试API,似乎无法让事情发挥作用.我假设我在cURL请求中的格式被破坏了.下面是我尝试过的cURL请求以及params的输出以及尝试使用JSON gem解析params.

我倾向于使用一个巨大的密钥获取params,这是一个我的JSON数据字符串,其值为nil.我已经尝试添加Content-Type:application/json,当我这样做时,params是空的.

curl -X POST -H "Accept: application/json" -d '{ "to": "Brantley <test@gmail.com>", "subject": "hello world", "body": "Hi Jennifer! Sending you an email via this API I just made." }' http://localhost:9393/send-email
Run Code Online (Sandbox Code Playgroud)

这是返回的params哈希...

{"{ \"to\": \"Brantley <test@gmail.com>\", \"subject\": \"hello world\", \"body\": \"Hi Jennifer! Sending you an email via this API I just made.\" }"=>nil}
Run Code Online (Sandbox Code Playgroud)

我尝试使用JSON参数转换为更有用的东西,然后我得到以下内容......

{\"{ \\\"to\\\": \\\"Brantley <test@gmail.com>\\\", \\\"subject\\\": \\\"hello world\\\", \\\"body\\\": \\\"Hi Jennifer! Sending you an email via this API I just made.\\\" }\":null}"
Run Code Online (Sandbox Code Playgroud)

我已经花了很多时间在这上面,已经阅读了20个关于类似问题的stackoverflow帖子,并且仍然难倒,所以任何建议都会有所帮助.干杯!

ruby post json curl params

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

C#params关键字接受多个数组

考虑这种方法

public static void NumberList(params int[] numbers)
{
    foreach (int list in numbers)
    {
        Console.WriteLine(list);
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以调用这个方法并提供单独的integers或单个数组integers.在方法范围内,它们将被放入一个名为numbers (对吗?)的数组中,我可以继续操作它们.

// Works fine
var arr = new int[] { 1, 2, 3};
NumberList(arr);
Run Code Online (Sandbox Code Playgroud)

但是,如果我想调用该方法并提供数组,我会收到错误.你如何为数组启用params

// Results in error
var arr = new int[] { 1, 2, 3};
var arr2 = new int[] { 4, 5, 6 };
NumberList(arr, arr2);
Run Code Online (Sandbox Code Playgroud)

.net c# arrays params

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

Grails - 在参数图中添加参数

我想在我的params地图中添加一个参数,并将其余参数绑定到链接中.目前,我只按params经典方式绑定如下:

<g:link class="email" controller="administrator" action="test" params="${params}">Link text</g:link>
Run Code Online (Sandbox Code Playgroud)

我怎样才能在params地图中添加参数?

提前感谢您的帮助.问候,

编辑:

好的,我找到了办法.

params="${params + ['forwardURI': request.forwardURI]}"
Run Code Online (Sandbox Code Playgroud)

我不知道是否有更多类似Grails的方法.如果有的话,我将不得不学习它;)

data-binding parameters grails binding params

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

如何将URL参数传递给Ruby on Rails中的根[在routes.rb]中

意识到这个问题与此类似.

将URL参数传递给redirect_to:root

但是,我想知道在一开始就通过参数启动应用程序.也许root:在routes.rb文件中是不是完全正确的方法去?

基本上希望它会像这样开始.

HTTP://本地主机:3000 /控制器hello_id = 1&finder_id = 1&laser_id = 1&sharks_id = 4

任何想法都会非常感激!

routes params ruby-on-rails-3

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

传递具有空值的字符串作为参数时的排列字符串请求错误

我在排球上使用以下代码进行字符串请求

    pDialog = new ProgressDialog(context);
    pDialog.setMessage("Loading...");
    pDialog.setCancelable(false);
    pDialog.show();
    StringRequest strReq = new StringRequest(Method.POST,
        url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                pDialog.dismiss();
                Log.e(tag, response);                   
            }
        }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                pDialog.dismiss();
            }

        }) {

        protected Map<String, String> getParams(){
            Map<String, String> params = new HashMap<String, String>();
            params.put("tag", "SHOW_FILE");
            params.put("filename",filename);
            return params;
        };

    };      
    // Adding request to request queue
    Application.getInstance().addToRequestQueue(strReq, "get_file");
Run Code Online (Sandbox Code Playgroud)

如果变量filename = null,我收到以下错误:

08-02 10:28:06.192: E/Volley(2935): [2128] NetworkDispatcher.run: Unhandled exception java.lang.NullPointerException
08-02 10:28:06.192: …
Run Code Online (Sandbox Code Playgroud)

null android params android-volley

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

如果将int []数组传入其中,为什么param object []数组会变成锯齿状?

正如我正在试验的那样params,我注意到MS文档说如果你传递一个int具有签名的方法参数数组params object[] myParam,它将成为一个多维数组.但我注意到,如果你通过数组objects[]或者strings[]没有.这似乎很难处理,因为你必须检查多暗阵列.

请参阅MSDN链接

例:

public static void UsingParams(params object[] myParam)
{
    //Code to return myParam
}

//myParam[0][0] = {1, 2}, multi-dimensional
int[] myIntArray = {1, 2};
UsingParams(myIntArray);

//myParam[0] = {"1", "2"}, single-dimensional
string[] myStrArray = {"1", "2"};
UsingParams(myStrArray);
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

c# arrays params

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

传递!,!=,〜,<,>作为参数

我希望能够传递这样的参数:

fn(a>=b) or fn(a!=b)
Run Code Online (Sandbox Code Playgroud)

我在DjangoORM和SQLAlchemy中看到了这种行为,但我不知道如何实现它.

python arguments args params kwargs

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