使用js使用字符串连接单个逗号

时间:2018-04-30 06:32:58

标签: javascript jquery

我的函数java脚本 showPartialView ,有以下4个参数

控制器操作名称,然后是标题,最后是 ID

  function() showPartialView(controller,action,title,ID)
        {
        var data ="{"Title":title+","+"id":ID}"  
        $.ajax({
        "URL":controller/action,
        data:json.parse(data)
       })
       }

当我调用这样的函数时

showPartialView("home","index",'test page',28)

我的变量数据就像那样

{“标题”:'测试页'',ID“:28} 但我希望它是

{“标题”:'测试页',“id”:28}

2 个答案:

答案 0 :(得分:1)

您需要使用var data ="{Title:'" + title + "',id:" + ID+ "}";。您在yor函数showPartialView中有不正确的连接,并且该函数声明也是错误的。纠正并使用它,

function showPartialView(controller,action,title,ID){  
  var data ="{\"Title\":'" + title + "',\"id\":" + ID+ "}";
  console.log(data);
}


showPartialView("home","index",'test page',28);

答案 1 :(得分:1)

我相信你想要一个有效的json输出...... 所以你可以这样做:

function showPartialView(controller, action, title, ID) {
  var data = '{"Title":"'+title+'", "id":"' + ID + '"}';
  console.log(data)
}

showPartialView("home","index",'test page',28)

但这不是防弹......如果ID我们的title包含",则会失败......

更好的方法是使用JSON.stringify

    function showPartialView(controller, action, title, ID) {
      var data = {
        Title: title,
        id: ID
      }
      console.log(JSON.stringify(data));
    }

    showPartialView("home","index",'test page',28)

但最终你并不需要所有这些因为你再次解析$.ajax中的对象......所以只需使用普通对象:

function showPartialView(controller, action, title, ID) {
  $.ajax({
    url: controller + '/' + action,
    data: {
      Title: title,
      id: ID
    }
  })
}