JQuery AJAX语法
我试图找到正确的语法将varible传递给我的JQuery Post。
var id = empid; $.ajax({ type: "POST", url: "../Webservices/EmployeeService.asmx/GetEmployeeOrders", data: "{empid: empid}", contentType: "application/json; charset=utf-8", dataType: "json", success: function(result) { alert(result.d); }
我不认为数据:价值是对的。 有人让我直截了当?
谢谢!
这个怎么样:
var id = empid; $.ajax({ type: "POST", url: "../Webservices/EmployeeService.asmx/GetEmployeeOrders", data: "{empid: " + empid + "}", contentType: "application/json; charset=utf-8", dataType: "json", success: function(result){ alert(result.d); console.log(result); } });
data
可以是URL编码的字符串或对象:
data: {empid: empid},
要么
data: "empid=" + empid,
文档说:
要发送到服务器的数据。 如果不是字符串,它将转换为查询字符串。 它附加到GET请求的URL。 请参阅processData选项以防止此自动处理。 对象必须是键/值对。 如果value是一个数组,则jQuery使用相同的键序列化多个值,即{foo:[“bar1”,“bar2”]}变为’&foo = bar1&foo = bar2’。
完成ajax语法
var data="abc"; $.ajax({ type: "GET", url: "XYZ", data: { "data":data, }, dataType: "json", //if received a response from the server success: function( datas, textStatus, jqXHR) { }, //If there was no resonse from the server error: function(jqXHR, textStatus, errorThrown){ }, //capture the request before it was sent to server beforeSend: function(jqXHR, settings){ }, //this is called after the response or error functions are finished //so that we can take some action complete: function(jqXHR, textStatus){ } });
这应该适合你。
$.ajax({ type: "POST", url: "../Webservices/EmployeeService.asmx/GetEmployeeOrders", data: {empid: empid}, contentType: "application/json; charset=utf-8", dataType: "json", success: function(result) { alert(result.d); }
不是。 你传递一个字符串,你应该传递一个对象文字,例如
data: {"empid" : empid}
看到不同? 假设empid是具有某种值的变量,那应该可以正常工作。 或者你可以这样做
data: "empid="+empid
虽然不是您问题的直接答案,但以下是我们的一个jquery调用项目中使用的常用函数方法
$ .proxy()方法
Proxy方法接受现有函数并返回具有特定上下文的新函数。
语法
$(selector).proxy(function,context) $(selector).proxy(context,name)
码
dpInvokeAsync: function (serviceRequest, input, requestType, successCallBack) { var url = BASE_URL + serviceRequest; $.ajax({ type: requestType, url: url, async: true, data: input, dataType: 'json', success: $.proxy(successCallBack, this), error: $.proxy(this.handleFailure, this) }); } this.dpInvokeAsync('App/ShowParts', searchCriteria, 'Post', function (result) { alert(result);} );
参考
- $(此)AJAX内部成功无效
- jQuery跨域AJAX请求方法
$(document).ready(function() { $.ajax({ type: "POST", url: "Webservices/EmployeeService.asmx/GetEmployeeOrders", data: "{'EmployeeId':'empid'}", **<-- see the single quotes** contentType: "application/json; charset=utf-8", dataType: "json", success: function(msg) { alert(msg); } }); });
如果要将JSON字符串发送到服务器
data: "{empid: " + empid + "}"
如果你想发送查询字符串参数(?empid = 123)
data: {empid : empid}
你可以使用以下。
var id = empid; $.ajax({ type: "POST", url: "../Webservices/EmployeeService.asmx/GetEmployeeOrders", data: "var1=val1&var2=val2&var3=val3&var4=val4&var5=val5", contentType: "application/json; charset=utf-8", dataType: "json", success: function (result) { alert(result.d); }