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 

http://docs.jquery.com/Ajax/jQuery.ajax#options

虽然不是您问题的直接答案,但以下是我们的一个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);} ); 

参考

  1. $(此)AJAX内部成功无效
  2. 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); }