Код раздела
Html для метода публикации, я использовал этот способ, потому что после усталости от тестирования с ajax и xmlHttpRequest (они оба работали и получали значения на стороне сервера, но я хочу загрузить файл csv из json, загрузка не работает, не нашел точной причины, поэтому я выбираю отдельную вкладку для загрузки, я предполагаю конфликт с другими функциями для загрузки или ajax проблема)
<form id="outputform" class="paneloff" target="_blank" action="http://localhost:53610/test.aspx" method="post">
<input id="xlsform" style="visibility:hidden;" type="hidden" name="xlsform" />
</form>
Javascript раздел с генерирующим объектом и передаваемым значением для метода post
var myObject = [];
....
myObject.push(someJsonAttributes)
.....
dom.byId('xlsform').value = JSON.stringify(myObject);
document.getElementById("outputform").submit();
test.aspx.cs (для настройки xls файла я не нашел большого источника в javascript, здесь я предпочел используйте c#)
public string result;
protected void Page_Load(object sender, EventArgs e)
{
//here am getting value
this.result = "";
if (Request.InputStream.Length > 0)
{
using (Stream receivedStream = Request.InputStream)
{
using (StreamReader reader = new StreamReader(receivedStream, Encoding.UTF8))
{
result = reader.ReadLine();
}
}
//example value of result below, i have more than 300 columns
//result value=outputform=%5B%7B%22column1%22%3A23520%2C%22ID%22%3A%22060420100%22%2C%22col2%22%3A%22%22%2C%22CITY%22%3A%22LA%22%2C%22col4%22%3A%22LOT+3+LESS+N48FT+BLK+2%22%7D%5D
var dict = HttpUtility.ParseQueryString(result);
var json2 = new JavaScriptSerializer().Serialize(
dict.AllKeys.ToDictionary(k => k, k => dict[k])
);
//json2 value={"output4":"[{\"column1\":23520,\"ID\":\"060420100\",\"col2\":\"\",\"CITY\":\"LA\",\"col4\":\"LOT+3+LESS+N48FT+BLK+2\"}]"}
DataSet data = JsonConvert.DeserializeObject<DataSet>(Convert.ToString(json2));
}
}
Я думаю, что значение json2 неверно, у него есть косая черта, страница продолжает загружаться, нет ошибок или ответа с веб-страницы.
Также пробовал с помощью следующих способов, не сработало
JavaScriptSerializer serializer = new JavaScriptSerializer();
object b = serializer.Serialize(json);
JObject json2 = JObject.Parse(json);
var nvs = HttpUtility.ParseQueryString(queryString);
var dict = nvs.AllKeys.ToDictionary(k => k, k => nvs[k]);
return JsonConvert.SerializeObject(dict, new KeyValuePairConverter());
Любые предложения