Вы не можете изменить способ обработки запроса в jQuery.В конце концов, обратный вызов - это обратный вызов, и он выполняется после завершения работы!Однако вы можете установить dataType
на "text"
и затем проверить свой Javascript.
Пример:
$.post("/home", { foo: 'bar' }, function(data){
//callback function
// execute JS
$.globalEval( data );
}, "text");
** ОБНОВЛЕНИЕ **
Это то, что jQuery делает внутренне (отрезано):
// If the type is "script", eval it in global context
} else if ( type === "script" || !type && ct.indexOf("javascript") >= 0 ) {
jQuery.globalEval( data );
}
Таким образом, нет угрозы безопасности, если вынуть globalEval
из запроса Ajax и выполнить его в функции обратного вызова.