我得到了Form的代码:
jQuery
$('#form').ajaxForm({
beforeSend: function () {
bar.width(0);
},
uploadProgress: function (event, position, total, percentComplete) {
var percentCompleted = percentComplete + '%';
bar.width(percentCompleted)
bar.text(percentCompleted)
console.log(percentCompleted);
///The Console logs properly.
},
complete:
//------------------------------------
//THIS IS WHERE LIES PROBLEM IS
//------------------------------------
function (xhr) {
//How do you convert the xhr to JSON?
//I tried :
var out = JSON.parse(xhr)
// and :
var out2 = $.parseJSON(xhr)
console.log('Completed1: ' + out);
console.log('Completed2: ' + out2);
},
error: function (xhr, desc, err) {
console.log(xhr)
console.debug(xhr);
console.log("Desc: " + desc + "\nErr:" + err);
}
});
PHP就像:
$OutCollection
是一个关联Array()
Firebug控制台说:
不能弄清楚什么是错的。
非常感谢任何帮助。
firebug中的PHP输出/响应
Console.log(xhr)打印
答案 0 :(得分:3)
似乎xhf是XMLHttpRequest
对象,因此responseText
属性将包含你的json。
function (xhr) {
//How do you convert the xhr to JSON?
//I tried :
var out = JSON.parse(xhr.responseText)
// and :
var out2 = $.parseJSON(xhr.responseText)
console.log('Completed1: ', out);
console.log('Completed2: ', out2);
},
答案 1 :(得分:2)
在建议试用console.log(xhr)
的评论中使用 @Musa 中的提示,
我想出了这个。
var out=$.parseJSON(xhr.responseText);
$.each(out,function(i,v){
//then:
console.log(out[i]) //to access each piece of the information.
});
然而,
不知何故,$.each()
的两个参数都返回key
对的key=value
。我以某种方式认为i
应该是index
和v
循环的值$.each
。这样我们就可以做到:v[i]
。使用i
作为索引来访问存储在v
数组值中的值。
尽管如此,它仍可以 hackingly 。
答案 2 :(得分:0)
我认为在;
声明之后你没有那个variable
:
var out= JSON.parse(xhr);
var out2= $.parseJSON(xhr);
答案 3 :(得分:0)
http://php.net/manual/en/function.json-encode.php Example#2一个json_encode()示例显示了一些正在使用的选项
尝试json_encode($ var,JSON_HEX_TAG);
if (!empty($sendOut)) {
if (!preg_match('/table|td|error|warning/i', $sendOut)) {
$outCollection["img_".$counter] = $sendOut;
$counter++;
}
echo json_encode($outCollection, JSON_HEX_TAG);
}
P.S。下次尝试将代码添加为文本,而不是图像!
答案 4 :(得分:0)
此处的问题是 HTTP标头
我们需要让浏览器认为接收数据是json,然后你不需要将返回的字符串解析为json。
只需在回显json编码的字符串之前添加它:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
-<PackageAsSingleFile>false</PackageAsSingleFile>
-<ExcludeGeneratedDebugSymbol>true</ExcludeGeneratedDebugSymbol>
-<ExcludeApp_Data>true</ExcludeApp_Data>
-<PublishDatabases>false</PublishDatabases>
-<DeployIisAppPath>Partnerportal</DeployIisAppPath>
-<DesktopBuildPackageLocation>obj\Release\Package\Project.zip</DesktopBuildPackageLocation>
-<Prefer32Bit>false</Prefer32Bit>
+<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>