Javascript 在JS中使用C POST获取数据
我需要获得以下链接的函数resultado2的结果字符串: 作为第一步,我编写了以下代码:Javascript 在JS中使用C POST获取数据,javascript,c#,webpage,Javascript,C#,Webpage,我需要获得以下链接的函数resultado2的结果字符串: 作为第一步,我编写了以下代码: string url = "http://barion.inapi.cl/BuscaBiblio/inicio.php"; Uri uri = new Uri(url); HttpWebRequest request = HttpWebRequest.Create(url) as System.Net.HttpWebRequest;
string url = "http://barion.inapi.cl/BuscaBiblio/inicio.php";
Uri uri = new Uri(url);
HttpWebRequest request = HttpWebRequest.Create(url) as System.Net.HttpWebRequest;
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
string buscar = "solicitud=" + 750 + "®istro=&descripcion=&solicitante=&d=1&m=1&y=" + 2003 + "&d2=31&m2=12&y2=" + 2003; // +"&nocache=0.1821407969109714";
byte[] data = Encoding.UTF8.GetBytes(buscar);
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
WebResponse response = request.GetResponse();
string responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
在这里之前,一切都很好。”responseString'给了我'ok1',这表明到目前为止只有一个结果
但是,我被困在函数resultado2返回字符串的地方,该字符串返回包含所需表的HTML代码。
我尝试使用以下代码:
url = "http://barion.inapi.cl/BuscaBiblio/listado.php";
uri = new Uri(url);
request = HttpWebRequest.Create(url) as System.Net.HttpWebRequest;
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
postData = "st=0&total=1";
data = Encoding.UTF8.GetBytes(postData);
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
response = request.GetResponse();
responseString = new StreamReade
但它给了我一个500的误差。
然而,在尝试Chrome的调试模式时,我显然可以检查'r'的值
function resultado2() {
if(peticion_http.readyState == READY_STATE_COMPLETE) {
if(peticion_http.status == 200) {
mm = document.getElementById("resultado");
var r = peticion_http.responseText;
mm.innerHTML = r;
}
}
}
有什么想法吗?。
提前感谢。为了澄清,您是否正在尝试将数据从客户端提交到服务器端?如果是这样,你的方法就有点奇怪了。您可以简单地执行以下操作:
function Calculate() {
var order = new Array();
var convertedOrder;
// Do whatever you need or want to validate.
// BuildOrder a function to build our object cleanly.
order.push(BuildOrder(product, quantity, price, shipping, other, location, tax));
// Convert object to Json
convertedOrder = JSON.stringify(order);
// The array and converting data into JSON would be wrapped in a loop.
$.ajax({
url: '<%= Page.ResolveUrl("~/Services/Order.aspx") %>',
data: { Order: convertedOrder },
type: 'POST',
success: function (order) {
var result = JSON.parse(order);
console.log(result[0].Total); // Returned data
}
}
然后在.aspx的代码隐藏中,在页面加载中执行以下操作:
这将把数据从客户机推送到服务器,然后从服务器推回到客户机,这样您就可以使用数据了。甚至可以在新功能和其他领域调用它
希望这能有所帮助。在重新检查js查询时,我发现我需要在异步发出请求时,在我的C代码中实现“.onreadystatechange”事件。
// Data to be read and parsed.
public class Returnable
{
public int Product { get; set; }
public int Quantity { get; set; }
public decimal Price { get; set; }
public decimal Shipping { get; set; }
public decimal Other { get; set; }
public string Location { get; set; }
public decimal Tax { get; set; }
}
// Data to Send Back:
public class SendInformation
{
public string Tax { get; set; }
}
JavaScriptSerializer serializer = new JavaScriptSerializer();
List<Returnable> deserialize = serializer.Deserialize<List<Returnable>>(order);
foreach(Returnable returnable in deserialize)
{
// Iterate through all of your passed data.
}
List<SendInformation> responseObject = new List<SendInformation>();
responseObject.Add(new SendInformation() { Total = "value", Tax = "value" });
string response = serializer.Serialize(responseObject);
Response.Write(response);
Response.End();