1

私はこのコードを持っています:

function myFunction(serializeData, extraSerializedData){
  //serializeData is boolean
  var    formSerializedData = '';
  if(serializeData){
      var formSerializedData = $("#myform").serialize();
      if (typeof extraSerializedData !== 'undefined'){
        formSerializedData += extraSerializedData;
      }
    }

    $.ajax({
      type: "get",
      url: "/123",
      data: formSerializedData, //TODO!!!       
      success: function(data){
        //......

data存在する場合にのみキーを追加したいserializeData。コードが「美しい」ままであるようにこれを行うことは可能であり、どのように行うのですか?

4

4 に答える 4

4

テストされていませんが、お勧めします:

$.ajax({
      type: "get",
      url: "/123",
      data: serializeData !== undefined ? formSerializedData : null,
      success: function(data){
        //......
      }
});
于 2013-03-02T15:24:50.887 に答える
1

私は三項演算子が嫌いなので、ここにこれがあります:

function myFunction(serializeData, extraSerializedData){
    var formSerializedData = '';
    var extendWith = {};

    if(serializeData){
        var formSerializedData = $("#myform").serialize();
        if (typeof extraSerializedData !== 'undefined'){
            formSerializedData += extraSerializedData;
        }
        extendWith.data = formSerializedData;
    }

    $.ajax($.extend({
        type: "get",
        url: "/123",    
        success: function(data){
            //......
        }
        //rest of the object
    },extendWith));
}
于 2013-03-02T15:26:45.483 に答える
1

ajaxSetUp を使用することをお勧めします:

 $.ajaxSetup({
     url: "/123/",
     type: "get",
     success: function(){};
   });

   //Check for serializeData data and pass accordingly
  $.ajax({ data: myData });
于 2013-03-02T15:30:49.520 に答える
1
function myFunction(serializeData, extraSerializedData){
    var ajaxthing = {
        type: 'get', 
        url: '/123', 
        success: function (data) {...}
    };

    if(serializeData){
        var formSerializedData = $("#myform").serialize();
        if (typeof extraSerializedData !== 'undefined'){
            formSerializedData += extraSerializedData;
        }
        ajaxthing.data = formSerializedData;
    }

    $.ajax(ajaxthing);
于 2013-03-02T15:45:57.093 に答える