#c# #javascript #asp.net #json #vb.net
#c# #javascript #asp.net #json #vb.net
Вопрос:
Я создал веб-службу, которая настраивается в другом проекте и возвращает мне строку, передавая 2 параметра: {«PersonID»: 132, «Title»: «Сотрудник службы безопасности», «Company»:»TCA», «CellNum»: «999-999-9999», «EmergencyPhone»:»», «Email»:»»}
Дело в том, что я пытаюсь прочитать эту строку из другого проекта, используя Javascript, в этой функции JS я пытался использовать $.getJSON в URL, чтобы получить фактическую строку, но я не могу!! Я думаю, что я не правильно ее читаю…. как я могу прочитать строку из URL????
WebService:
<OperationContract()>
<WebInvoke(Method:="GET", UriTemplate:="/getPersonInfo/?personID={personID}amp;companyCode={companyCode}", BodyStyle:=WebMessageBodyStyle.Bare)>
Public Function getPersonInfo(ByVal personID As String, ByVal companyCode As String) As String
Dim dba As New DBAccess
Dim m_SelPerson As String = String.Empty
Dim ds As DataSet = dba.GetPersonInfo(personID, companyCode)
If Not ds Is Nothing Then
Dim dr As DataRow = ds.Tables(0).Rows(0)
Dim person As New PersonInfo
person.PersonID = Convert.ToInt32(dr("PersonID"))
person.Company = dr("Company")
person.Title = dr("Title")
person.CellNum = dr("CellNum")
person.EmergencyPhone = dr("EmergencyPhone")
person.Email = dr("Email")
Dim oSerilzer As New System.Web.Script.Serialization.JavaScriptSerializer
m_SelPerson = oSerilzer.Serialize(person)
End If
Return m_SelPerson
End Function
JS function
function GetPersonInfo() {
var url = "http://123.1456.12434/getPersonInfo/personid=125amp;companycode=TCAamp;sensor=false";
$ = jQuery;
$.getJSON(url, function (data) {
console.log(data);
});
// alert(obj['Company']);
// $ = jQuery;
// $.getJSON(url, function (data) {
// for (var i = 0; i < data.results.length; i ) {
//// var personInfo = data.results[i];
// fnCallback(pinfo);
// return false;
// }
// });
}
Комментарии:
1.
http://123.1456.12434/
Это тот же сайт, что и страница, или другой? Разрешает ли эта служба междоменные вызовы с CORS, если она находится в другом домене?2. Я просто придумал что-то жестко закодированное для этой проблемы, у меня есть, я не хочу раскрывать этот фактический URL ….. дело в том, что я, возможно, пытаюсь использовать $.getJSON (url), что неправильно ….. как я могу получить строку в функции JS??
3. когда я нажимаю просмотреть исходный код, я получаю что-то вроде этого: <string xmlns=» schemas.microsoft.com/2003/10/Serialization «>{«PersonID»:132, «Title»: «Сотрудник службы безопасности», «Company»:»TCA», «CellNum»: «999-999-9999», «EmergencyPhone»:»», «Email»:»»}</string>
4. Не уверен, почему вы не можете ответить «если URL находится в том же домене, что и страница, или нет», но на самом деле все в порядке. Попробуйте выполнить отладку и, по крайней мере, посмотрите, есть ли какие-либо исключения. Используйте Fiddler, чтобы проверить, выполнен ли запрос и соответствует ли ответ. Удачи.