我正在尝试使用不显眼的 Javascript 在现有链接上触发附加的 ajax 查询。
查询将进入服务器并进行处理,返回字符串“javascript template ok”进行测试。
但是,永远不会调用 ajax“成功”函数。到位,触发的是“错误”功能......
我查看了 Chrome 调试器,我可以看到从服务器返回的响应文本,但从来没有调用“成功”方法...... :-(
我的电话是
jQuery.ajax({
    type: 'POST',
    success: function(response) {   
        $("#details").html(response);
        console.log(response);
    },
    error: function(){ 
        alert("Error\nData could not be retrieve from the server");
    },
    url: '/treeview/show/1538.js',
    cache: false,
});
(在此示例中,url 是硬编码的)。浏览器中的相同 Url 无需布局即可获得正确的数据 :-)
删除url中的“.js”返回带有布局的html模板,并且正确实现了“details”div的更新......
控制器是
    respond_to do |format|
      format.html # show.html.erb
      format.js   { render :inline => "JAVASCRIPT TEMPLATE !" }
    end
谢谢
编辑 :
这是从 ajax 查询返回的对象(错误的第一个参数: function(jqXHR) ):
Object
    abort: function ( statusText ) {
    always: function () {
    complete: function () {
    done: function () {
    error: function () {
    fail: function () {
    getAllResponseHeaders: function () {
    getResponseHeader: function ( key ) {
    overrideMimeType: function ( type ) {
    pipe: function ( /* fnDone, fnFail, fnProgress */ ) {
    progress: function () {
    promise: function ( obj ) {
    readyState: 4
    responseText: "JAVASCRIPT TEMPLATE !"
    setRequestHeader: function ( name, value ) {
    state: function () {
    status: 200
    statusCode: function ( map ) {
    statusText: "OK"
    success: function () {
    then: function ( /* fnDone, fnFail, fnProgress */ ) {
    __proto__: Object
所以我得到了正确的回复文本??!! 那么错误可能在哪里?:-s