У меня возникла проблема с разделением строки с разделителями-запятыми на массив. На моей странице обработчика ashx моя строка выглядит так:JQuery разделенная запятая, ограниченная от ashx handler
context.Response.Write(string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9} ", BusProfileID, BusinessName, BusinessPhone, BusinessEmail, BusinessAddress, BusinessCity, BusinessState, BusinessZip, BusinessWebsite, BusinessCategory));
Когда я пытаюсь сделать массив, результаты не отображаются.
<script>
$(document).ready(function() {
$('#ContentPlaceHolder1_businessSelect').change(function() {
$.ajax({
contentType: "text/html; charset=utf-8",
data: "ID=" + $('#ContentPlaceHolder1_businessSelect').val(),
url: "getBusValue.ashx",
dataType: "text",
success: function (data) {
var vardata = JSON.stringify(data)
var arr = vardata.split(',')
$("#ContentPlaceHolder1_BusProfileID").val(arr[0]);
$("#ContentPlaceHolder1_BusinessName").val(arr[1];
$("#ContentPlaceHolder1_BusinessPhone").val(arr[2]);
$("#ContentPlaceHolder1_BusinessEmail").val(arr[3]);
$("#ContentPlaceHolder1_BusinessAddress").val(arr[4]);
$("#ContentPlaceHolder1_BusinessCity").val(arr[5]);
$("#ContentPlaceHolder1_BusinessState").val(arr[6]).prop('selected',true);
$("#ContentPlaceHolder1_BusinessZip").val(arr[7]);
$("#ContentPlaceHolder1_BusinessWebsite").val(arr[8]);
$("#ContentPlaceHolder1_BusinessCategory").val(arr[9]).prop('selected', true);
}
});
});
});
</script>
Вот моя ASHX страница:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";
string ID = context.Request.QueryString["ID"];
SqlConnection conn;
SqlCommand comm;
SqlDataReader reader;
string connectionString = ConfigurationManager.ConnectionStrings["Conn"].ConnectionString;
conn = new SqlConnection(connectionString);
comm = new SqlCommand("SELECT BusProfileID, BusinessName, BusinessPhone, BusinessEmail, BusinessAddress, BusinessCity, BusinessState, BusinessZip, BusinessWebsite, BusinessCategory FROM [BusProfile] WHERE BusinessName = @BusinessName", conn);
comm.Parameters.Add("@BusinessName", System.Data.SqlDbType.VarChar);
comm.Parameters["@BusinessName"].Value = ID;
try
{
conn.Open();
reader = comm.ExecuteReader();
if (reader.Read())
{
string BusProfileID = reader["BusProfileID"].ToString();
string BusinessName = reader["BusinessName"].ToString();
string BusinessPhone = reader["BusinessPhone"].ToString();
string BusinessEmail = reader["BusinessEmail"].ToString();
string BusinessAddress = reader["BusinessAddress"].ToString();
string BusinessCity = reader["BusinessCity"].ToString();
string BusinessState = reader["BusinessState"].ToString();
string BusinessZip = reader["BusinessZip"].ToString();
string BusinessWebsite = reader["BusinessWebsite"].ToString();
string BusinessCategory = reader["BusinessCategory"].ToString();
context.Response.Write(string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9} ", BusProfileID, BusinessName, BusinessPhone, BusinessEmail, BusinessAddress, BusinessCity, BusinessState, BusinessZip, BusinessWebsite, BusinessCategory));
}
reader.Close();
}
finally
{
conn.Close();
}
}
Это, как данные выглядят, как в текстовых полях при успехе:
8,My Business Inc,(702) 555-1212,[email protected],555 anywhere street,Los Angeles,California,44502,google.com,Hotel & Travel
Можете ли вы показать результат выражения 'var arr = data.split (',')'? – Satpal
вы просто записываете всю строку в элемент ... –
Comma разделяет их, как это прокомментировал @Satpal, используя data.split (',') для этого. –