每当我使用jquery ajax for get和post然后我编写代码如下
$(document).ready(function () {
$.ajax({
type: "POST",
url: "MyPage.aspx/ProcessInfo",
data: JSON.stringify(DTO),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {}
});
所以我需要知道如何为jquery ajax调用编写通用例程,我可以在其中传递请求类型调用GET / POST,URL,DATA TYPE和DATA。数据可以在json中 格式或可能像两个或三个augument。所以帮助我的概念,我可以编写通用例程,我可以在任何情况下使用ajax调用。数据类型是否为json。感谢
答案 0 :(得分:4)
你可以使用jQuery的build int $.get()
和$.post()
简写,或者创建你自己的自定义包装器:
$(document).ready(function() {
function jQuerySubmit(type, url, data, contentType, dataType, handler) {
$.ajax({
type: type,
url: url,
data: data,
contentType: contentType
dataType: dataType,
success: handler
});
}
});
答案 1 :(得分:3)
为什么不覆盖$.ajax
对象中的默认值,而不是编写一个像ajax请求那样简单的函数。
例如:
如果您的contentType始终为"application/json; charset=utf-8"
,您可以使用$.ajaxSetup
方法将其设置为默认值:
jQuery.ajaxSetup({
contentType: "application/json; charset=utf-8",
dataType: "json",
type: "POST"
});
然后你可以用较少的参数编写ajax调用:
$(document).ready(function () {
$.ajax({
url: "MyPage.aspx/ProcessInfo",
data: JSON.stringify(DTO),
success: function (data) {}
});
如果您想创建一个功能来执行此操作,我仍然会建议您设置默认值,但您可以执行其他任何答案。
答案 2 :(得分:1)
它已经在jQuery中设计了:
获取:http://api.jquery.com/jQuery.get/
$.get("test.php",
function(data){
$('body').append( "Name: " + data.name ) // John
.append( "Time: " + data.time ); // 2pm
}, "json");
POST:http://api.jquery.com/jQuery.post/
$.post("test.php", { "func": "getNameAndTime" },
function(data){
console.log(data.name); // John
console.log(data.time); // 2pm
}, "json");
答案 3 :(得分:0)
function makeAjax (type , url , data , content,dataType , succFunc)
{
$.ajax({
type: type ,
url: url ,
data: JSON.stringify(data ),
contentType: content,
dataType: dataType ,
success:succFunc(data)
});
}
makeAjax ("POST","MyPage.aspx/ProcessInfo",DTO,"application/json; charset=utf-8","json",myfunc)
function succFunc(data)
{
}