我试图通过jQuery $ .post方法调用Mockjax'post'端点,如下所示
service.js
$.mockjax({
url: '/api/callfor/data',
type: 'post',
responseTime: 1000,
contentType: 'text/json',
dataType: 'json',
responseText: {
success: true,
data: 'Hello World'
}
});
的index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Mock Ajax call</title>
</head>
<body>
<script src="jquery-1.10.2.min.js" type="text/javascript"></script>
<script src="jquery.mockjax.js" type="text/javascript"></script>
<script src="service.js" type="text/javascript"></script>
<script type="text/javascript">
$.post('/api/callfor/data', {}, function (resp) {
var html = (resp.success) ? 'Your data is ' + resp.data : 'No data received';
});
</script>
</body>
</html>
但是在调用方法时,resp总是以未定义的形式出现。 这可能有什么问题?
答案 0 :(得分:4)
请求的数据类型,或者更确切地说,数据端点提供的类型,即呼叫中未提及JSON。
将帖子调用更改为
$.post('/api/callfor/data', {}, function (resp) {
var html = (resp.success) ? 'Your data is ' + resp.data : 'No data received';
}, 'json');
返回数据。