Javascript自定义回调函数没有执行

时间:2016-10-15 12:06:13

标签: javascript ajax

我试图等到ajax调用返回而不是处理代码,所以我有这个代码用于ajax调用。

function ajax( data, url, method, callback ) {

        $.ajax({
                url: url,
                data: JSON.stringify(data),
                method: method,
                dataType: "application/json",
                contentType: "application/json; charset=utf-8"
        }).always(function (data, textStatus) {
                callback();
            });
    };

vm.app.ajax({data}, "url", "post", function () {
    alert('cdndvnidvndi');
});

但是我从来没有在回调函数中接到调用。我做错了什么。

2 个答案:

答案 0 :(得分:0)

我无法接受<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <form class="form" role="form" onsubmit="completeSave(this)"> <div class="form-body"> <div class="form-group"> <label>name</label> <input type="text" class="form-control" name="name" value="{{$media->name}}"> </div> </div> </form> // next form! <form class="form" role="form" onsubmit="completeSave(this)"> <div class="form-body"> <div class="form-group"> <label>name</label> <input type="text" class="form-control" name="name" value="{{$media->name}}"> </div> </div> </form> <button class="btn btn-primary" onclick="completeSaveAll()">submit</button>的任何错误接受。但是这段代码对我有用。

&#13;
&#13;
dataType
&#13;
var vm = {app:{ajax}}

function ajax(data, url, method, callback) {

  $.ajax({
    url: url,
    data: JSON.stringify(data),
    method: method,
    dataType: "json", // change the dataType to just 'json'
    contentType: "application/json; charset=utf-8"
  }).always(callback); // there is no reason to wrap the callback in a function
};

vm.app.ajax({
  data: 'none'
}, "https://jsonplaceholder.typicode.com/posts/1", "get", function(response) {
  console.log(response);
});
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我尝试解决此问题以更改我的代码以替换callback()。 在我的代码中使用echo json_encoder($ data);在$ data传递值中,我不会在我的视图页面和ajax提交表单中,如:

def macro_interpreter(code, macros):
    x,y,index = 0, 0, 0
    state = ['N', 'E', 'S', 'W']
    for command in code:
        if command in macros:
            return macro_interpreter(macros[command], macros)
        else:
            if command == 'move':
                if state[index] == 'N':
                    y += 1
                elif state[index] == 'E':
                    x += 1
                elif state[index] == 'S':
                    y -= 1
                elif state[index] == 'W':
                    x -= 1
            elif command == 'turn':
                try:
                    index = index + 1
                except IndexError:
                    index = 0
    return (x, y, state[index])            

使用此类型代码使用。