Pass parameter to href of a table cell in ajax - html

I'm new to use ASP.net for web app programming. I'm using the following ajax function aiming to send a parameter to the controller with the name of yyy. However, no matter how I manipulate the variable {id} in this case, the controller either get the string {id} or null. The variable of {id} is actually storing an integer value, for example, 3. I want to pass the integer 3 to the controller. Please help! Thanks!
$.ajax({
type: "GET",
url: "http://localhost:8086/xxx",
crossDomain: true,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var testData = '';
$.each(data, function (key, value) {
testData += '<tr>';
var id = value.testDataID.toString();
testData += '<td style="cursor:pointer">' + '<a href="http://localhost:8087/xxx/yyy?param="+{id}>' + value.serialNumber + '</a>' + '</td>';
testData += '<td>' + value.testDataID + '</td>';
testData += '<td>' + value.sN + '</td>';
testData += '</tr>';
});
$('#testDataTable').append(testData);
}
});

Related

How to display images in cshtml page after joining two path and converting to base64 in mvc?

This is my controller.
ImagePath is the path got from database and blobUrl is the azure storage path. And I'm joing these two path and converting that in 64base string. But how to pass that 64base value resultimg to Base64string again in above validationdata?. As I'm not able to access image directly for displaying. So required to convert in 64base.
How to pass resultimg value to Base64string???
[HttpGet]
public JsonResult GetImageList(int TaskID)
{
try
{
List<Validation> validationdata = new List<Validation>();
validationdata = (from d in _context.ImgTable
where (d.Taskid == TaskID )
select new Validation
{
d.ImageID,
d.Taskid,
d.ImagePath,
blobUrl = blobContainer.Uri.AbsoluteUri,
Base64string =???
}).ToList();
//Joining two path and converting it to base64
List<string> ImgByteUrl = new List<string>();
foreach (var item in validationdata.ToList())
{
var imgID = item.ID;
var storagepath = item.blobUrl; //azure storage url
var imgurl = item.ImagePath.Trim(); // db image path
var img1 = img.Split('\\');
imgurl = (storagepath + '/' + img1[5]); //joined both path
byte[] bytes = (new FileUploadDownload(img)).GetByteStream(); //converting in byte
string imreBase64Data = Convert.ToBase64String(bytes);
string resultimg = string.Format("data:image/jpg;base64,{0}", imreBase64Data);
ImgByteUrl.Add(resultimg);
//validationdata.Add(resultimg);
}
var jsonResult = Json(validationdata, JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = int.MaxValue;
return jsonResult;
}
catch (Exception ex)
{
}
}
Please help out how to go further else guide me with any other way. I want to display images in in html page. I'm selecting Taskid from dropdownlist and on-click of it display related images to that taskid in html table.Below is the js function:
$.ajax({
type: 'GET',
url: '#Url.Action("GetImageList")',
datatype: JSON,
data: {
'TaskID': $("#tasklist").val() //getting selected TaskID from dropdown
},
success: function (data) {
var row_no = 1;
$.each(data, function (i, item) {
+ "<td id='ItemId" + row_no + "' >" + item.ID + "</td>" // displaying image id in html table
"<td>"
+ "<div><object id='Image" + row_no + "' data=" + item.Base64string +></object>" // display image for that imageid
+ "</div></td > "
});
This is the image we get after converting to byte and passing that value to <object id='Image" + row_no + "' data=" + item.Base64string +>
i.e item.Base64string
=data:image/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAABQCAYAAABCiMhGAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAadEVYdFNvZnR3YXJ........
You should use img tag.
Sample Code:
<div>
<img style='display:block; width:100px;height:100px;' id='base64image'
src='data:image/png;base64,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' />
</div>
Your function:
$.ajax({
type: 'GET',
url: '#Url.Action("GetImageList")',
datatype: JSON,
data: {
'TaskID': $("#tasklist").val() //getting selected TaskID from dropdown
},
success: function (data) {
var row_no = 1;
$.each(data, function (i, item) {
+ "<td id='ItemId" + row_no + "' >" + item.ID + "</td>" // displaying image id in html table
"<td>"
+ "<div><img id='Image" + row_no + "' src='data:image/png;base64,iVBORw0KGgo.../> </div></td > "
});

Calculate the json's value then show in html

I have a json array:
[{"value": "1"},{"value": "2"},{"value": "3"},{"value": "4"},{"value": "5"},{"value": "6"}]
My code is :
$.ajax({
url: "120.58.243.11:8080/needCal/myJson.json",
dataType: 'json',
success: function(data) {
var items = [];
$.each(data, function(key, value) {
items.push("<tr>");
items.push("<td id=''" + key + "''>" + value.value+ < /td>");
items.push("<td id=''" + key + "''>" + total of values + < /td>");
items.push("</tr>");
});
}
});
I want to calculate the values, how to do with that?
$.ajax({
url: "120.58.243.11:8080/needCal/myJson.json",
dataType:'json',
success: function(data){
var items = [];
var totalOfValue = 0;
$.each(data,function(key,value){
totalOfValue = totalOfValue + parseInt(value.value);
});
$.each(data,function(key,value){
items.push("<tr>");
items.push("<td id='" +key+ "'>" + value.value+</td>");
items.push("<td id='" +key+ "'>" + totalOfValue +</td>");
items.push("</tr>");
});
}
}
);
A simple way is to use the reduce method:
Something like this:
var total = arr.reduce(function(t, v) {
return t += Number(v.value);
}, 0);

Looping through AJAX result and post to HTML,

I have the following AJAX code for processing a returned results from the database,
$.ajax({
type: 'POST',
async: true,
url: "../../../avocado/private/functions/measures.php",
data: {name:selectedValue},
success: function(data, status){
var selectedData = JSON.parse(data);
console.log(selectedData);
document.getElementById("measures").innerHTML = "<div id=\"measures\">"
+ "<table class=\"table table-condensed\">"
+ "<tr><th>desc1</th><td>"+selectedData[0][6]+"</td></tr>"
+ "<tr><th>desc2</th><td>"+selectedData[0][7]+"</td></tr>"
+ "<tr><th>desc3</th><td>"+selectedData[0][8]+"</td></tr>"
+ "<tr><th>desc4</th><td>"+selectedData[0][9]+"</td></tr>"
+ "</table>"
+ "</div>";
},
error: function(xhr, status, err) {
alert(status + ": " + err);
}
});
The data returned is a 2D array, like this below,
Array[5]
0: Array[14]
1: Array[14]
2: Array[14]
3: Array[14]
4: Array[14]
so what I want to do is to loop each array and display the inner information on the HTML page but I have no idea how I should go about doing it.. this code only returns the values stored on index[0].
Can I please get some help?
==============================================================================
UPDATED
So I tried to use Jquery.append() like the following below..
jQuery.each( selectedData, function( i, val ) {
$("measures").append(
"<table class=\"table table-condensed\">"
+ "<tr><th>desc1</th><td>"+selectedData[i][6]+"</td></tr>"
+ "<tr><th>desc2</th><td>"+selectedData[i][7]+"</td></tr>"
+ "<tr><th>desc3</th><td>"+selectedData[i][8]+"</td></tr>"
+ "<tr><th>desc4</th><td>"+selectedData[i][9]+"</td></tr>"
+ "</table>"
);
});
/*
document.getElementById("measures").innerHTML = "<div id=\"measures\">"
+ "<table class=\"table table-condensed\">"
+ "<tr><th>desc1</th><td>"+selectedData[0][6]+"</td></tr>"
+ "<tr><th>desc2</th><td>"+selectedData[0][7]+"</td></tr>"
+ "<tr><th>desc3</th><td>"+selectedData[0][8]+"</td></tr>"
+ "<tr><th>desc4</th><td>"+selectedData[0][9]+"</td></tr>"
+ "</table>"
+ "</div>";
*/
now..its not appending any values to the div #measures at all...
I have not tried the code. But I hope this will help you.
document.getElementById("measures").innerHTML = "<div id=\"measures\">";
$.each( selectedData, function( index, value ){
$.each( index, function( index2, value2 ){
$('#measures').append(value2);
});
});

I'm having trouble parsing response from $.ajax

I'm trying to modify some old code of mine to include comments for photos. The photos are acquired using $.ajax and the response is in html.
My modification is to get the comments as a json object and then parse the previously attained html inserting the comments where appropriate. Here is the [latest incarnation] of my code (I've tried many different alternatives)
$.ajax({
type:"POST",
url:"<?php echo $_SERVER['PHP_SELF']; ?>",
data:"ajax_loadbigthumbs=true&section=<?php echo $_GET['section']; ?>",
dataType : "html",
success: function(html){
jhtml = $(html);
$.getJSON( "/commentsjson.php?getcomments=true&section=<?php echo $_GET['section']; ?>", function( data ) {
$.each(data,function(i,item){
//alert(item.comment); <--- this works so I know the data is coming back correctly
console.log(jhtml.find('#comments_' + item.photoid).attr("id")); // this shows 'undefined'
jhtml.find('#comments_' + item.photoid).css("display","block").html("<p>" + item.name + " said " + item.comment + "</p>");
});
$("#largethumbscontainer").append(jhtml);
});
}
});
But this isn't working. The console.log line (as a test) returns 'undefined' and the following line (jhtml.find) has not found anything to modify.
var $comment = $('#comments_' + item.photoid, jhtml);
if ($comment.length)
$comment.css("display","block").html("<p>" + item.name + " said " + item.comment + "</p>");
I fixed it, buy appending the html to an already existing element, and then appending the comments to that element....
$.ajax({
type:"POST",
url:"<?php
echo htmlspecialchars($_SERVER["PHP_SELF"], ENT_QUOTES, "utf-8");
?>",
data:"ajax_loadbigthumbs=true&section=<?php echo $_GET['section']; ?>",
dataType : "html",
success: function(html){
jhtml = $(html);
$("#largethumbscontainer").append(jhtml);
largethumbs = $("#largethumbscontainer");
$.getJSON( "/commentsjson.php?getcomments=true&section=<?php
echo $_GET['section'];
?>", function( data ) {
$.each(data,function(i,item){
largethumbs
.find('#comments_' + item.photoid)
.css('display','block')
.append('<p>' +
item.name +
' said: <span style="font-style:italic;">' +
item.comment +
'</span></p>');
});
});
}
});

Javascript: each function value dynamic title

I am trying to use following code:
var list_id = "Cust";
var page_id = "SubPageCust";
var show = "Company";
$.ajax({
url: "sap.php",
dataType: "json",
type: "POST",
success: function(data) {
var output = '';
$('#' + list_id).empty();
var value1 = "value." + show;
$.each(data, function(index, value){
output += '<li><a href="#' + value.show
+'" data-transition="slide">' + value.show + '</a></li>';
});
$('#' + list_id).append(output).listview('refresh');
The JSON title is Company:Company. Has anyone an idea how to use the value.title dynamically?
Regards

Categories