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