解决在 使用 AjaxFileUploder 插件时,不能获取返回的 json 结果数据

在MVC  项目 中使用 AjaxFileUploader 这个插件时,在上传图片或文件时,在控制器中返回的是 json数据,可是在 ie,或 googleChrome 浏览器中却出现 返回的json数据下载的情况,针对 这个情况,以下是我自己解决的方法:

需要特别注意两个地方:

1. 在返回的 json 数据时,加上 "text/html" 这个参数

 return Json(new
                {
                    success = true,
                    originalName = OriginFileName,
                    original = guid,
                    min = min,
                    max = max
                },"text/html");

2. 在 AjaxFileUploader.js 中的  uploadHttpData: function (r, type)这个方法修改如下:

            //data = eval("data = " + data);

            /*++++++++++++++  以下是修改的代码  ++++++++++++++++++++++++++*/

            var datastr = r.responseText;
            var newdatastr = datastr.replace("<pre>", "").replace("</pre>", "");
            data = newdatastr;

            /*+++++++++++++++  以下是修改的代码 ++++++++++++++++++++++++++*/

 3. 在 前端调用的 ajaxFileUpload 方法时,在回调方法 success 时,要对 返回的 json 字符串进行转换成 json 对象:

 success: function (da) {
            //alert("success");
            //alert(da);
            var aaa = JSON.parse(da);
            //alert(aaa.success);
            //alert(aaa.max);
            //alert(!aaa.success);

             if (!aaa.success) {
                 alert(aaa.error);
             } else {
                 //alert("aaa");
                 $('#imgshow').show();
                 $('#imgshow').append("<img src='" + aaa.max + "' width='100' height='60' />");
                 $("#" + modelimgid).val(aaa.max);
             }
        },

 这样就可以了,上传图片时,如果上传成功就能正确的预览了

 

转载于:https://www.cnblogs.com/wisdo/p/4390391.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用ArduinoJson库解析从心知天气API获取JSON数据,你需要先在Arduino IDE中安装ArduinoJson库。你可以通过以下步骤进行安装: 1. 打开Arduino IDE。 2. 在菜单栏中选择“工具”->“管理库”。 3. 在“库管理器”中搜索“ArduinoJson”。 4. 找到ArduinoJson库并点击“安装”。 安装完成后,你可以使用以下代码示例来解析心知天气API返回JSON数据: ```cpp #include <ArduinoJson.h> void parseWeatherData) { const size_t capacity = JSON_OBJECT_SIZE(3) + JSON_ARRAY_SIZE1) + 3*JSON_OBJECT_SIZE(2) + JSON_OBJECT_SIZE(4) + JSON_OBJECT_SIZE(5) + 390; DynamicJsonDocument doc(capacity); DeserializationError error = deserializeJson(doc, jsonData); if (error) { Serial.print("JSON parsing failed. Error: "); Serial.println(error.c_str()); return; } JsonObject results = doc["results"][0]; String location = results["location"]["name"]; String weather = results["now"]["text"]; String temperature = results["now"]["temperature"]; Serial.print("Location: "); Serial.println(location); Serial.print("Weather: "); Serial.println(weather); Serial.print("Temperature: "); Serial.println(temperature); } void setup() { Serial.begin(115200); // 假设你已经通过HTTP请求获取到了心知天气API返回JSON数据 String jsonData = "{\"results\":[{\"location\":{\"name\":\"Beijing\"},\"now\":{\"text\":\"Cloudy\",\"temperature\":\"25\"}}]}"; parseWeatherData(jsonData); } void loop() { // 主循环 } ``` 在上面的示例代码中,`parseWeatherData()`函数会解析传入的JSON数据,并提取出位置、天气和温度信息。你可以根据心知天气API返回JSON数据结构来修改代码中的解析逻辑。 请注意,示例代码中使用了DynamicJsonDocument来动态分配内存以容纳JSON数据。你可以根据实际情况调整`capacity`的大小。 通过以上代码,你可以使用ArduinoJson库轻松解析从心知天气API获取JSON数据,并提取出所需的天气信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值