beforeEach -> @server = sinon.fakeServer.create() -6ren">
gpt4 book ai didi

javascript - 回调没有从 sinon.js fakeServer 触发以调用 $.ajax

转载 作者:行者123 更新时间:2023-11-29 10:51:32 28 4
gpt4 key购买 nike

我有以下 Jasmine 规范:

describe "plugins", ->
beforeEach ->
@server = sinon.fakeServer.create()

afterEach ->
@server.restore()

describe "reviewStatus", ->
it "should attach dates to content", ->
@server.respondWith("GET", "/GeneralDocument.mvc.aspx/GetDocumentParent?typeName=ncontinuity2.core.domain.Plan&documentParentUid=45f0bccb-27c9-410a-bca8-9ff900ab4c28d",
[200, {"Content-Type": "application/json"},
'{"ReviewDate":"22/09/2012","AcknowledgedDate":"05/07/2012"}'])

$('#jasmine_content').addReviewStatus('ncontinuity2.domain.Plan', "45f0bccb-27c9-410a-bca8-9ff900ab4c28")

@server.respond()

expect($('#reviewDateTab').find("strong").eq(0).length).toEqual(1)

addReviewStatus 是我写的一个 jQuery 插件:

do($ = jQuery) ->
$.fn.extend
addReviewStatus: (type, uid) ->
ele = @

reviewData = null

getJSON '/GeneralDocument.mvc.aspx/GetDocumentParent', {typeName: type, documentParentUid: uid},
(document) ->
console.log('document = ' + document)
compileTemplate(ele, document)
(response) ->
showErrorMessage resonse.responseText
#etc., etc.

上面的 getJSON 方法调用 $.ajax 是这样的:

function getJSON(url, params, ajaxCallBack, ajaxErrorHandler, excludeProgress){
var e = (ajaxErrorHandler) ? ajaxErrorHandler : validationErrorCallBack;
var s = (ajaxCallBack) ? ajaxCallBack : jsonCallBack;
$.ajax({
type: "GET",
url: url,
cache: false,
data: params,
beforeSend: function(xhr) {
xhr.setRequestHeader("Ajax", "true");
xhr.setRequestHeader("UseAjaxError", "true");
},
complete: function() {
},
success: s,
timeout: _ajaxTimeOut,
dataType: "json",
error: e
});
}

getJSON 方法的匿名函数回调未被触发。对 $.ajax 的调用也返回 404 not found。谁能看出我做错了什么?

最佳答案

如果您调用它的 URL 没有分配响应,Sinon fakeserver 将返回 404。

您的问题似乎是您调用的 url 不是 respondWith() 参数中的 exact 。此外,Sinon 中可能存在 URL 长度限制,但不确定。

关于javascript - 回调没有从 sinon.js fakeServer 触发以调用 $.ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9361958/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com