Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using serviceURL with PHP file always results in "Sorry, no matching results" #814

Open
jshster opened this issue Jan 18, 2021 · 4 comments

Comments

@jshster
Copy link

jshster commented Jan 18, 2021

Trying desperately to get the library working with a PHP script. At the moment it's just returning a hardcoded JSON string but as shown in image below ... the result of the PHP file is absolutely 100% a JSON object but the autocomplete field refuses to display it. I know I'm only missing the smallest piece of the puzzle but I'll be darned if I can work out what it is.

devbridge-autocomplete

Here is the instantiation code:

       serviceUrl: 'search-projects.php', //tell the script where to send requests
       dataType: "json",
       minChars: 3,
       width: 450, //set width
       onSelect: function (suggestion) {
           $('#selection').html('You selected: ' + suggestion.value + ', ' + suggestion.data);
       },
       transformResult: function (response) {
           console.log(response);  
           return {
               suggestions: $.map(response.myData, function (dataItem) {
                   return {value: dataItem.valueField, data: dataItem.dataField};
               })
           };
       },
       showNoSuggestionNotice: true,
       noSuggestionNotice: 'Sorry, no matching results',
   });

I have posted the same issue on StackOverflow.

@tkirda
Copy link
Member

tkirda commented Jan 18, 2021

Check the response format. It should be:

{
  "suggestions": [...]
}

@jshster
Copy link
Author

jshster commented Jan 19, 2021

Hey @tkirda , thanks for the speedy reply. That does indeed solve the issue... but having now re-read the doco the option "transformResult" should, in theory, convert a non-standard response into the "suggestions" response format ... and it clearly didn't do that. Any idea why?

@tkirda
Copy link
Member

tkirda commented Jan 24, 2021

Did you provide your transform result function?

@jshster
Copy link
Author

jshster commented Jan 25, 2021

Yep, sure did!
Copied it here from the original posting if that helps:

 transformResult: function (response) {
           console.log(response);  
           return {
               suggestions: $.map(response.myData, function (dataItem) {
                   return {value: dataItem.valueField, data: dataItem.dataField};
               })
           };
       },

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants