我有
function SomeFunc() {
$.when($.ajax()).then(FunctionWhichDoesMoreAjax());
}
现在我需要围绕这个召开另一个电话。
$.when(SomeFunc()).then(FunctionWhichDoesMoreAjax2());
我尝试修改SomeFunc()
function SomeFunc() {
return $.when($.ajax()).then(return FunctionWhichDoesMoreAjax());
}
但是,这完全破坏了功能。 IDE报告错误
预期表达
返回 FunctionWhichDoesMoreAjax());
我该如何同步这些?
答案 0 :(得分:3)
试试这个:
function SomeFunc() {
return $.when($.ajax()).then(FunctionWhichDoesMoreAjax);
}
答案 1 :(得分:0)
实际上,您需要将id发送到处理Ajax请求的服务器端控制器。 对于可用性而言,一种好的方法是在所有情况下都可以使用双位数组。 第一个位置将具有请求的id,第二个位置将具有数据,例如json数据或其他任何内容。 当服务器端完成其工作时,它会将响应发送回页面,并在数组中也使用相同的模式,id,数据和完成。您可以在页面中发送异步,而不必担心会混淆请求。
function request1(){
data=getdata;
arrData={1,data};
ajaxsent(controler,data,onresponse1);
}
function request2(){
data=getdata
arrData={2,data};
ajaxsent(controler,data,onresponse2);
}
function request3(){
data=getdata;
arrData={3,data};
ajaxsent(controler,data,onresponse3);
}
function request4(){
data=getdata;
arrData={4,data};
ajaxsent(controler,data,onresponse4);
}
function onresponse1(xml){
synchronizer(xml);
}
function onresponse2(xml){
synchronizer(xml);
}
function onresponse3(xml){
synchronizer(xml);
}
function onresponse4(xml){
synchronizer(xml);
}
function synchronizer(xml){
switch(xml.id)
case 1: dostuff;
case 2: dostuff;
case 3: dostuff;
case 4: dostuff;
}