jQuery得到parsererror,但Perl的状态是200
jQuery get parsererror but status is 200 from Perl
我遇到了一个关于Ajax的问题,总是得到"textStatus:parsereror,errorThrown:SyntaxError:意外令牌:",
但是,响应是"responseText:{"success":"Search Successful","Timetable":"aaa"},"
我在jsonlint.com网站上搜索过,它显示JSON是有效的。
注意:"aaa"是我想要返回的字符串,我想知道它可能太长了,所以把它改为"aaa",但错误仍然存在。
这是来自Ajax 的代码
$.ajax({
type:"Get",
url:"cgi-bin/timetable.pl",
contentType:"application/json;charset=utf-8",
dataType:"jsonp",
data:"username="+username,
error:function(XMLHttpRequest,textStatus,errorThrown)
{
$('div#result').text(result);
$('div#result').text("responseText: " + XMLHttpRequest.responseText
+ ", textStatus: " + textStatus
+ ", errorThrown: " + errorThrown);
$('div#result').addClass("error");
},
success: function(data)
{
if (data.error)
{
$('div#result').text("data.error: " + data.error);
$('div#result').addClass("error");
}
else
{
$('div#result').text("data.success: " + data.success
+ ", data.userid: " + data.clasinfo);
$('div#result').addClass("success");
}
}
})
这是Perl的
foreach $classid(@claid)
{
$class->execute($classid);
while (@cinfo = $class->fetchrow_array())
{
$num = @cinfo;
$combineinfo = "";
for ($i=0;$i<$num;$i++)
{
$combineinfo .= $cinfo[$i]."V";
}
}
push(@info,$combineinfo);
}
$json = (@info)?
qq{{"success":"Search Successful","Timetable":"'@info"}}:
qq{{"error":"Search Error"}};
print $cgi->header(-type => "application/json", -charset => "utf-8");
print $json;
与其编写自己的JSON,不如让perl为您编码。
use JSON::PP;
my $response = (@info)?
{"success" => "Search Successful", "Timetable" => @info}:
{"error" => "Search Error"};
my $json = JSON::PP->new->allow_nonref;
print $json->encode($response);
相关文章:
- 事件和状态
- 获取选择框的状态
- 相位器状态未捕获参考错误
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何使用密码检测网络中的状态连接
- Ember.js-接口状态应该存储在哪里
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- 在Angular 2中布线期间保持零部件处于活动状态
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- XMLHttpRequest未返回值-状态202
- 使用javascript反复检查用户在facebook上的登录状态
- 如何使bxslider仅在移动视图中处于活动状态
- 获取ASP.NET Ajax Timer状态
- React redux初始化功能,无论状态变化如何
- 无法在现有状态转换期间更新-未使用任何非法的setState()
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 从组件状态的数组中删除元素
- PERL-下载CSV文件不完整
- jQuery和perl:基于状态的进度条;管道文件”;,动态ajax
- jQuery得到parsererror,但Perl的状态是200