当我ajaxSubmit表单时,服务返回一个数字。由于某种原因,ajaxSubmit似乎为其添加了一些标签。
form.ajaxSubmit(function(data){
alert(data);
});
});
在这里,警报打印出来:
"<head></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">130</pre></body>"
而如果我签入调试器,则该值为130。
我已经做出了这样的假设:由于该服务似乎返回了正确的值,因此此问题仅在客户端引起。如果我错了,请纠正我。
为什么javascript中的值与响应中的值不同?
最佳答案
问题在于jquery.form不会接收纯文本,它会接收JSON,XML,HTML或Script。
因此,我通过从服务器端发送JSON数据并指定JSON是客户端期望的格式来解决此问题。
form.ajaxSubmit(
{dataType: 'json',
success: function(data) {
alert(data) });