I figured out the problem. The Javascript generated looks like this:
web2py_trap_form('('/app/default/testajax.load',)','c831268503949');
which is illegal because the single quotes around the URL terminate the
single quotes of the first parameter for web2py_trap_form
It looks like a string '(' then /app/default..... is no longer inside
quotes.
Line 148 of compileapp.py in version 1.96.1 has the line
js = "web2py_trap_form('%s','%s');" % (link, target)
I traded the quotes around in the Python code like so
js = 'web2py_trap_form("%s","%s");' % (link, target)
so the output would change to look like
web2py_trap_form("('/app/default/testajax.load',)","c831268503949");
which is legal Javascript and now I get no errors.
A second question is why the link is a set, the output formating seems to
indicate that. I don't know enough to know whether the first element should
be dereferenced e.g. link[0] instead of just link. Then there would not be 2
sets of single quotes atcked in the output.
Ron