Javascript 如何在ajax中传递数据?

Javascript 如何在ajax中传递数据?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我想在数据中传递o_id,但尝试时显示错误: ReferenceError:左侧的分配无效 $(“#分配”)。单击(函数(){ params=“” $(“td[contentEditable='true'])。每个(函数(){ 如果($(this).text()!=“”){ 如果(参数!=“”){ 参数+=“&”; } params+=$(this.data('id')+“=”+$(this.text(); } }); 如果(参数!=“”){ var o_id=; $.ajax({ url:“

我想在数据中传递
o_id
,但尝试时显示错误:

ReferenceError:左侧的分配无效


$(“#分配”)。单击(函数(){
params=“”
$(“td[contentEditable='true'])。每个(函数(){
如果($(this).text()!=“”){
如果(参数!=“”){
参数+=“&”;
}
params+=$(this.data('id')+“=”+$(this.text();
}
});
如果(参数!=“”){
var o_id=;
$.ajax({
url:“assign_product.php”,
类型:“POST”,
数据:params+'&o_id'=o_id,
成功:功能(响应){
$(“#ajax响应”).append(响应);
$(“td[contentEditable='true']);
}
});
}
});

您应该以对象而不是字符串的形式传递参数,
参数应该是对象,您可以将键/值附加到此对象:

var params = {};

$("td[contentEditable='true']").each(function(){
  if( $(this).text() != "" ) {
    params[ $(this).data('id') ] = $(this).text();
  }
});
您还需要替换:

if(params!="") {
作者:

检查对象是否为空

完整代码:

$("#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("");
      }
    });
  }
});
$(“#分配”)。单击(函数(){
var params={};
$(“td[contentEditable='true'])。每个(函数(){
如果($(this).text()!=“”){
参数[$(this.data('id')]=$(this.text();
}
});
if($.isEmptyObject(参数)){
参数[“o_id”]=;
$.ajax({
url:“assign_product.php”,
类型:“POST”,
数据:params,
成功:功能(响应){
$(“#ajax响应”).append(响应);
$(“td[contentEditable='true']);
}
});
}
});

希望这有帮助。

您在这一行有语法错误:

data:params+'&o_id'=o_id,
=
符号必须位于引号内。
这是因为您有一条关于
分配的消息

这不正常:
数据:params+'&o_id'=o_id,
请参阅文档,不要忘记
内容类型
数据类型
。 问候

请检查以下内容:

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);

                        }
                    });

使用
params+'&o_id='+o_id,
将其关闭为typoThank@satpal其工作状态,他应该如何修复它?为什么选择内容类型?OP正在使用默认值请检查新示例!您是对的@zakaria下次我将尝试使用对象。现在您更改为objectYes true@charlietfl,也需要一个不同的
if()
,谢谢。。
data:params+'&o_id'=o_id,
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);

                        }
                    });