누군가가 나를 도울 수 있기를 바랍니다. 추가 기능을 추가하기 위해 기존 페이지를 수정하는 GreaseMonkey 스크립트를 작성합니다. 이 일환으로 JQuery를 사용하여 텍스트 상자에 AutoComplete를 추가하려고합니다. 나는 jQuery에 익숙하지 않으므로 어리석은 짓을하고있을 것이다.하지만 너무 오랫동안 이것을보고 있었다.jQuery 자동 완성 -로드 할 데이터를 가져올 수 없습니다.
["Mc"]
이것은 HTTP 응답이 보이는 것 같다 :
이
정상적인 요청 본문이 보이는 것 같다"[{\"__type\":\"\",\"key\":\"62bb420a-5f3a-4a99-97b1-115beaa29b8e\",\"value\":\"McDonalds\",\"html\":null,\"data\":new Data.Dictionary(\"\",[[\"ARGSTCode\",null],[\"APGSTCode\",null],[\"ContactDefaultCurrency\",\"CURR/USD\"],[\"OrganisationTemplate\",\"\"],[\"Discount\",\"\"],[\"ContactDefaultBillDueDate\",\"\"],[\"ContactDefaultBillDueType\",null],[\"ContactDefaultBillDueTypeDisplay\",\"of the following month\"],[\"ContactDefaultInvoiceDueDate\",\"\"],[\"ContactDefaultInvoiceDueType\",null],[\"ContactDefaultInvoiceDueTypeDisplay\",\"of the following month\"],[\"DefaultAPContactAccountType\",\"\"],[\"DefaultARContactAccountType\",\"\"],[\"DefaultARTrackingCategories\",\",,,\"],[\"DefaultAPTrackingCategories\",\",,,\"]])},{\"__type\":\"\",\"key\":\"df8fd73c-1016-4bf7-a448-257c0414af9f\",\"value\":\"Mortgage\",\"html\":null,\"data\":new Data.Dictionary(\"\",[[\"ARGSTCode\",null],[\"APGSTCode\",null],[\"ContactDefaultCurrency\",\"CURR/USD\"],[\"OrganisationTemplate\",\"\"],[\"Discount\",\"\"],[\"ContactDefaultBillDueDate\",\"\"],[\"ContactDefaultBillDueType\",null],[\"ContactDefaultBillDueTypeDisplay\",\"of the following month\"],[\"ContactDefaultInvoiceDueDate\",\"\"],[\"ContactDefaultInvoiceDueType\",null],[\"ContactDefaultInvoiceDueTypeDisplay\",\"of the following month\"],[\"DefaultAPContactAccountType\",\"\"],[\"DefaultARContactAccountType\",\"\"],[\"DefaultARTrackingCategories\",\",,,\"],[\"DefaultAPTrackingCategories\",\",,,\"]])}]";/*
이는 오토를 추가하는 것처럼 내 코드는 모습입니다 완료
$('.text.ajax') .each(function (index, el) {
el.id = el.id + index;
var a = $(el);
a.autocomplete({
source: function (request, response) {
$.ajax({
url: Ajax.url + location.search,
type: 'POST',
data: '["' + request.term + '"]',
dataType: 'json',
ContentType: 'text/plain; charset=utf-8',
headers: {
'X-AjaxPro-Method': 'GetStuff'
},
success: function (data) {
response($.map(data, function (item) {
var text = v.value;
return {
label: item.value,
value: item.key
};
}))
},
select: function(event, ui) {
$(el).val = ui.item.value;
}
})
}
})
});
필드에 입력하는 동안 프록시를 살펴보면 해당 요청은 prope 올바른 위치로 이동하고 적절한 응답을 얻지 만 자동 완성 값을 표시하는 것은 표시되지 않습니다.
내가 뭘 잘못하고 있니?
필드 예 :
<input class='text ajax' id="test_value1" type="text" name="test_value1" maxlength="255">
<input class='text ajax' id="test_value2" type="text" name="test_value2" maxlength="255">
[JSFiddle] (http://jsfiddle.net) 환경에서 코드를 분리 할 수 있습니까? 이렇게하면 우리가 직접 문제를 쉽게 볼 수있을뿐만 아니라 스스로 해결할 수 있습니다. 귀하의 응용 프로그램이 AJAX 기반이라면 어떻게 가능하지 않을지 이해합니다. –
전에 JSFiddle을 사용한 적이 없습니다. 나는 그것을 살펴보고 할 수있는 것을 보도록하겠습니다. 원격 Ajax 요청을 시뮬레이트 할 수 있다면 뭔가를 조롱 할 수 있어야한다. – Doug
문제의 일부를 발견했을 수도 있습니다. 내 응답이 실제로 유효한 JSON이 아닌 것 같습니다. 응답을 제어하지 않기 때문에 ...이 문제를 해결하는 재미있는 시간을 가질 수 있습니다. – Doug