当用户点击某个项目以JSON格式发布所选项目的产品信息时,我需要访问所请求网址的JSON数据,是否有人可以帮我这样做?
$("[id*='btnProductAdd']").click(function (event) {
var ProductId = $(this).closest(".product-btn").find("[id*='ProductId']").val();
AddProduct(81, ProductId);
});
function AddProduct(UserId, ProductId) {
var ProductInfo = {
userid: UserId,
productid: ProductId
}
var Url = 'http://mydomain.co.uk/admin/Search.UserProductAdd';
$.ajax({
url: Url,
type: 'post',
contentType: 'application/json; charset=utf-8',
data: ProductInfo,
dataType: 'json',
async: true,
success: function (data) {
},
error: function onXmlError() {
$('#data').html('Sorry we cannot retreive any data currently, please refresh the page.');
}
});
}
UPDATE 似乎有点混乱所以只是为了进一步解释......它不是在一个不同的领域。我只需要帮助访问我的代码发布到页面/admin/Search.UserProductAdd的数据,这是ASP.NET VB 4.5。我之前使用GET但不是POST,我使用下面的GET:
Imports Microsoft.VisualBasic
Imports System.Web
Imports System.Data
Imports System.Data.SqlClient
Imports System.Web.Script.Serialization
Public Class htmlreturn
Implements IHttpHandler
Public Sub ProcessRequest(ByVal context As System.Web.HttpContext) Implements System.Web.IHttpHandler.ProcessRequest
Dim requestHttp As HttpRequest = context.Request
Dim response As HttpResponse = context.Response
Dim UserId As Integer = requestHttp.QueryString("User_Id")
Dim RowNo As Integer = requestHttp.QueryString("rno")
Dim RowStart As Integer = requestHttp.QueryString("rstart")
Dim HostDomain As String = HttpContext.Current.Request.Url.Host
Dim ConnSql As SqlConnection = New SqlConnection()
ConnSql.ConnectionString = ConfigurationManager.ConnectionStrings("ConnSql").ConnectionString()
Dim cmdSelect As SqlCommand = New SqlCommand()
cmdSelect.Connection = ConnSql
cmdSelect.CommandText = "spUserProductsTest"
cmdSelect.CommandType = CommandType.StoredProcedure
cmdSelect.Parameters.Add("@User_Id", SqlDbType.Int, ParameterDirection.Input).Value = UserId
cmdSelect.Parameters.Add("@RowNumber", SqlDbType.Int, ParameterDirection.Input).Value = RowNo
cmdSelect.Parameters.Add("@RowStart", SqlDbType.Int, ParameterDirection.Input).Value = RowStart
Dim daSelect As SqlDataAdapter = New SqlDataAdapter
daSelect.SelectCommand = cmdSelect
Dim dsSelect As DataSet = New DataSet()
daSelect.Fill(dsSelect, "Select")
cmdSelect.Dispose()
ConnSql.Close()
Dim iRows As Integer = dsSelect.Tables("Select").Rows.Count
Dim ProductHtml As String = ""
If (dsSelect.Tables.Count > 0) And (dsSelect.Tables(0).Rows.Count > 0) Then
For i = 0 To iRows - 1
Dim CategoryId As String = dsSelect.Tables("Select").Rows(i).Item("Category_Id")
Dim SubcategoryId As String = dsSelect.Tables("Select").Rows(i).Item("Subcategory_Id")
Dim ProductCode As String = dsSelect.Tables("Select").Rows(i).Item("Code")
Dim ProductTitle As String = dsSelect.Tables("Select").Rows(i).Item("Title")
Dim ProductDescription As String = dsSelect.Tables("Select").Rows(i).Item("Description")
Dim ProductMake As String = dsSelect.Tables("Select").Rows(i).Item("Make")
Dim ProductModel As String = dsSelect.Tables("Select").Rows(i).Item("Model")
ProductHtml += "<div class=""data-row""><div>" & CategoryId & "</div>" & "<div>" & SubcategoryId & "</div>" & "<div>" & ProductCode & "</div>" & _
"<div>" & ProductTitle & "</div>" & "<div><p>" & ProductDescription & "</p></div>" & "<div>" & ProductMake & "</div>" & "<div>" & ProductModel & "</div></div>"
Next
response.ClearHeaders()
response.ContentType = "text/html;charset=UTF-8"
response.Write(ProductHtml)
End If
End Sub
Public ReadOnly Property IsReusable() As Boolean _
Implements System.Web.IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
答案 0 :(得分:-1)
因此,根据您的更新,如果您只需要jQuery POSTS到后端VB函数的数据,您需要做的就是使用Request.Form对象而不是Request.QueryString对象。否则,它们的工作方式完全相同。
Dim requestHttp As HttpRequest = context.Request
Dim UserId As Integer = requestHttp.Form("userid")
Dim ProductId As Integer = requestHttp.Form("productid")
此外,不要忘记修复您的javascript:
$("[id*='btnProductAdd']").click(function (event) {
var ProductId = $(this).closest(".product-btn").find("[id*='ProductId']").val();
AddProduct(81, ProductId);
});
function AddProduct(UserId, ProductId) {
var ProductInfo = {
userid: UserId,
productid: ProductId
}
var Url = '/admin/Search.UserProductAdd';
$.ajax({
url: Url,
type: 'POST',
data: ProductInfo,
dataType: 'json',
success: function (data) {
console.log('Your return data is here.', data);
},
error: function() {
$('#data').html('Sorry we cannot retreive any data currently, please refresh the page.');
}
});
}
答案 1 :(得分:-1)
我终于找到了一些帮助我找到答案的东西,所以我想把这个放在这里以防其他人有同样的问题...希望它有所帮助。
我只需要在网址上获取请求信息的帮助。
npm run say-hello --greeting='hello'