2017-11-21 4 views
1

私はそれが私を見るしようとすると、私はエラーデータにo_idを渡したいけど:あなたがオブジェクトではない文字列としてパラメータを渡す必要がありますajaxでデータを渡す方法は?

ReferenceError: invalid assignment left-hand side

<script src="http://code.jquery.com/jquery-1.10.2.js"></script> 
    <script type="text/javascript"> 
    $("#assign").click(function(){ 
    params = "" 
    $("td[contentEditable='true']").each(function(){ 
     if($(this).text() != "") { 
      if(params != "") { 
       params += "&"; 
      } 
      params += $(this).data('id')+"="+$(this).text(); 
     } 
    }); 
    if(params!="") { 
      var o_id = <?php echo $o_id ?>; 
     $.ajax({ 
      url: "assign_product.php", 
      type: "POST", 
      data:params+'&o_id'=o_id, 
      success: function(response){ 
       $("#ajax-response").append(response); 
       $("td[contentEditable='true']").text(""); 
      } 
     }); 
    } 
}); 
</script> 
+1

使用 'paramsは+ '&o_id =' + o_id、その作業 – Satpal

+0

感謝オブジェクトを試します。 –

答えて

1

あなたはこのラインに構文エラーがあります。

data:params+'&o_id'=o_id, 

=記号が引用符内でなければなりません。 assignmentについてのメッセージがあるためです。

4

paramsはオブジェクトでなければなりませんし、あなたが追加することができこのオブジェクトへのキー/値:

if(params!="") { 

var params = {}; 

$("td[contentEditable='true']").each(function(){ 
    if($(this).text() != "") { 
    params[ $(this).data('id') ] = $(this).text(); 
    } 
}); 

あなたが交換することも必要オブジェクトが空であるかどうかを確認するために

if($.isEmptyObject(params)){ 

:によって

FULL CODE:

$("#assign").click(function() { 
    var params = {}; 

    $("td[contentEditable='true']").each(function() { 
    if ($(this).text() != "") { 
     params[$(this).data('id')] = $(this).text(); 
    } 
    }); 

    if ($.isEmptyObject(params)) { 
    params["o_id"] = <?php echo $o_id ?>; 

    $.ajax({ 
     url: "assign_product.php", 
     type: "POST", 
     data: params, 
     success: function(response) { 
     $("#ajax-response").append(response); 
     $("td[contentEditable='true']").text(""); 
     } 
    }); 
    } 
}); 

は、この情報がお役に立てば幸いです。

+0

次回のI右@zakariaある@satpal' TYPOとしてそれを閉じる –

+0

オブジェクトに変更するには別の 'if()'が必要になります – charlietfl

+0

はいtrue @charlietfl、ありがとう.. –

-3

これは正常ではありません。data:params+'&o_id'=o_id, content-typeまたはdataTypeのドキュメントを参照してください。 https://api.jquery.com/jquery.post/ よろしく

JSONにチェックこれをしてください。

var request = {CompanyDB: sapws.dbName, UserName: sapws.wsUser, Password: sapws.wsPass}; 
        $.ajax({ 
         type: "POST", 
         url: sapws.wsUrl + "/Login", 
         contentType: "text/plain", 
         data: JSON.stringify(request), 
         async: false, 
         xhrFields: { 
          withCredentials: true, 
         }, 
         //crossDomain: true, 
         beforeSend: function (req) { 

         }, 
         success: function (jsonData, status, req) { 

          document.cookie = "B1SESSION=" + jsonData.SessionId + "; expires=Thu, 18 Dec 2019 12:00:00 UTC; path=/"; 
          sapws.wsKey = jsonData.SessionId; 

          var response = sapws.slSend("GET", "/EmployeesInfo?$filter=U_AppUser eq '" + username + "' and U_AppPass eq '" + userpass + "' ", ""); 
          if (response.value.length > 0) { 
           sapws.userLogin = 1; 
          } 
         }, 
         error: function (data, status, req) { 
          console.log("error log2"); 
          console.log(status, req); 

         } 
        }); 
+0

どうしたらいいですか? – Liam

+0

なぜcontent-typeですか? OPはデフォルトを使用しています – charlietfl

+0

新しい例をご確認ください! –

関連する問題